Если вы хотите, чтобы отменить возможность программно можно выбрать целевой параметр и установите его 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)
// ...
Что делает этот вариант «особенным»? – undefined
, как есть 4 варианта (1, 2, 3, 4). Пользователь выбрал 1 и 2. Теперь я хочу удалить 1 из выделения при нажатии кнопки. Кнопка предоставляется мной. –
Работает отлично для меня. Я могу щелкнуть уже выбранные параметры, и они удалены –