У меня несколько выборок на одной странице. Мне нужно проверить их все и проверить, выбрана ли опция.
Так что в основном мне нужен jquery/js, который делает: Если у каждого выбора есть опция, то... else...
Прямо сейчас у меня есть "
if($('.container select').val()){
//Do stuff
} else {
// Do something else
}
Проблема в том, что этот код проверяет только первый выбор на странице, и мне нужно проверить их все!
Может ли кто-нибудь помочь?
Вы можете использовать:
if(!$('.container option:selected[value=""]').length){
/* All SELECT have one option selected*/
}
else {
/* At least one SELECT has no option selected */
}
Помните, что все ваши параметры должны иметь определенное значение атрибута, иначе параметр контента используется как значение. Поэтому для опции по умолчанию используйте, например: <option value="">-- No Selection --</option>
Вы должны захватить их всех, проверить их значения и вернуться на основе представленного условия. Вы можете сделать это в цикле $.each:
var valid = true;
$('.container select').each(function () {
//if (!$(this).children('option:selected').length) { // you can do this instead of this.value if you want.
if (!this.value) {
valid = false;
return false; // this will cause the each loop to exit, instead of continue
}
});
if (valid) {
// process valid logic
}
else {
// process invalid logic
}
попробуй это:
ss = document.getElementById('multiple_select_id');
for (var i=0; i<ss.options.length; i++) {
if (ss.options[i].selected) {
console.log(ss.options[i].value + " is selected");
} else {
console.log(ss.options[i].value + " is not selected");
}
}