У меня есть два (или в некоторых местах больше) выпадающих списка (выбрать) с несколькими вариантами. Также есть кнопка для очистки всех выбранных значений в выпадающих списках. Есть один аспект этой кнопки очистки, который не работает должным образом для моих нужд.
Кнопка отображается только в том случае, если в раскрывающемся списке выбран вариант со значением, после выбора вариантов с пустым значением кнопка скрывается. После того, как я выберу какой-либо параметр в обоих раскрывающихся списках (отображается кнопка), а затем изменю значение в одном из этих раскрывающихся списков на параметр без значения (кнопка скрыта). Проблема в том, что эта кнопка скрывается после того, как один из выпадающих списков имеет пустое значение.
Мне нужно, чтобы эта кнопка была скрыта, только если во всех раскрывающихся списках есть выбранная опция с пустым значением. Этот jsfiddle иллюстрирует, что я имею в виду.
Я использую select2.js
для раскрывающихся списков.
HTML:
<input type="button" class="opt-clear" value="Clear all dropdowns">
<div class="option">
<select>
<option value="">Please select</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</div>
<div class="option">
<select>
<option value="">Please select</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</div>
Javascript:
$('select').select2();
$('.option select').change(function() {
var id=$(this).val();
if (id=="") {
$(".opt-clear").hide();
} else {
$(".opt-clear").show();
}
}).trigger('change');
$(".opt-clear").click(function() { $(".option select").select2("val", ""); });