2015-01-29 4 views
2

Я использую jQuery Select2 (версия 4).Как удалить определенную опцию из элемента jQuery Select2?

Я использую тег select вместе с возможностью выбора нескольких вариантов.

Я в состоянии очистить выбранные параметры с помощью

selectTest.val(null).trigger('change'); 

Working demo is here

, но не может отменить только одно из значения на кнопку мыши. Помоги мне.

  • Priyank
+0

Что делает этот вариант «особенным»? – undefined

+0

, как есть 4 варианта (1, 2, 3, 4). Пользователь выбрал 1 и 2. Теперь я хочу удалить 1 из выделения при нажатии кнопки. Кнопка предоставляется мной. –

+0

Работает отлично для меня. Я могу щелкнуть уже выбранные параметры, и они удалены –

ответ

1

Если вы хотите, чтобы отменить возможность программно можно выбрать целевой параметр и установите его selected свойство false.

$('#btn-clear').on('click', function() { 
    var value = '2'; 
    // find the target option 
    // if you want to deselect more that 1 option 
    // you can use an array and jQuery `$.inArray` methiod, i.e.: 
    // return $.inArray(this.value, values) > -1; 
    selectTest.children().filter(function() { 
     return this.value == value; 
    }).prop('selected', false); 
    // trigger the change event so the library recreates the tags 
    selectTest.change(); 
}); 

У меня есть updated the fiddle.

Отметьте, что if(selectTest){ всегда true. Конструктор jQuery возвращает объект, а объект является правдивым значением в JavaScript. Вы должны проверить length коллекции.

if (selectTest.length > 0) 
// ...