У меня есть пять checkboxes
, которые подключены к скрытому раскрывающемуся списку.
Скрытый раскрывающийся список отображается при нажатии флажка.
<input type="checkbox" id="chb1" class="chk-group" name="chb" value="chb1">
<label for="chb1"> 1 </label>
<select id="slct-1">
<option value="">Default</option>
<option value="1">1</option>
<option value="2">2</option>
<option value=3>3</option>
</select><br>
<input type="checkbox" id="chb2" class="chk-group" name="chb" value="chb2">
<label for="chb2"> 2 </label>
<select id="slct-2">
<option value="">Default</option>
<option value="1">1</option>
<option value="2">2</option>
<option value=3>3</option>
</select><br>
<input type="checkbox" id="chb3" class="chk-group" name="chb" value="chb3">
<label for="chb3"> 3 </label>
<select id="slct-3">
<option value="">Default</option>
<option value="1">1</option>
<option value="2">2</option>
<option value=3>3</option>
</select><br>
<input type="checkbox" id="chb4" class="chk-group" name="chb" value="chb4">
<label for="chb4"> 4 </label>
<select id="slct-4">
<option value="">Default</option>
<option value="1">1</option>
<option value="2">2</option>
<option value=3>3</option>
</select><br>
<input type="checkbox" id="chb5" class="chk-group" name="chb" value="chb5">
<label for="chb5"> 5 </label>
<select id="slct-1">
<option value="">Default</option>
<option value="1">1</option>
<option value="2">2</option>
<option value=3>3</option>
</select><br>
Я хочу проверить, все ли видимые раскрывающиеся меню пусты или нет.
Я пробовал этот код ниже, он работает, но это не то, что он должен делать,
Результат этого кода: - Когда я устанавливаю флажки 1, 2 и 3, а затем изменяю раскрывающийся выбор 3, он немедленно возвращает истину, даже если раскрывающийся список 1 и 2 пуст.
Ожидаемый результат - он должен возвращать истину, только если все видимые раскрывающиеся списки не пусты.
Вот код
$('input[name="chb"]').click(function(){
checker();
$('select[id^="slct-"]').change(function () {
checker();
});
});
function checker() {
$('input[name="chb"]:checked').each(function () {
var idnum = $(this).prop('id').replace(/[^\d.]/g, '');
if (idnum != 1 || idnum != 2 || idnum != 19) {
if ($('#slct-' + idnum + ' option:selected').val() === "") {
$('span#text').text('False');
} else if ($('#slct-' + idnum + ' option:selected').val() != "") {
$('span#text').text('True');
}
}
});
}
Вот ссылка для Codepen , чтобы попробовать этот код.
Спасибо.