Подтвердить что ты не робот

Select2 отменить выбор всех значений

Я хочу отменить выделение всех значений одним щелчком, не используя каждый id отдельно.

Я немного поиграл, но это отменяет только первое значение. Любые предложения?

Вот как я пытаюсь отменить выбор:

$( "#mybutton" ).click(function() {    
   $("select").select2('val', '')
});

http://jsfiddle.net/6hZFU/75/

4b9b3361

Ответ 1

Попробуйте это вместо:

$('select').select2({
    placeholder: "select me"
});

$("#mybutton").click(function () {
    $("select").each(function () { //added a each loop here
        $(this).select2('val', '')
    });
});

Демо здесь

Ответ 2

$("select").val('').change();

Вот и все:) http://jsfiddle.net/6hZFU/78/

Объяснение: когда вы меняете значение любого ввода или выбираете через браузер JavaScript, не будет запускаться событие изменения для этого изменения (так говорят спецификации).

При срабатывании события изменения select2 догоняет и отражает новое значение select.

Ответ 3

При использовании Select2 версии 4.0 вам нужно будет использовать новый синтаксис:

$("select").val(null).trigger("change");

Ответ 4

Если вы хотите удалить несколько всплывающих меню с помощью Select2 v4 api, вот простой способ:

$("li.select2-selection__choice").remove();
$(".select2").each(function() { $(this).val([]); });

Не фокусируйтесь на выпадающем меню и очистите элементы "select" и "Select2";)

Ответ 5

Я попробовал вышеуказанные решения, но это не сработало для меня.

Это своего рода хак, где вам не нужно trigger change.

$("select").select2('destroy').val("").select2();

или

$("select").each(function () { //added a each loop here
        $(this).select2('destroy').val("").select2();
});

Ответ 6

Попробуйте, он отлично работает.

$('#form-search-amenities > option').prop("selected", false);
$("li.select2-selection__choice").remove();

#form-search-amenities следует заменить на ID вашего раскрывающегося списка <select>.

Ответ 7

$('#destinatariMail').val("-1").trigger("change");

Таким образом вы также отмените выделение тегов, которые были вставлены "на лету".

Ответ 8

Вам нужно использовать класс вашего select (select2_single)

Пример:

$('#button_clear').click(function () 
{
    $('.select2_single').select2('val',''); 
});

Дебетать на кладбище выбрать

Ej:

$('#button_clear').click(function () 
{
    $('.select2_single').select2('val',''); 
});