Проверьте, если опция выбрана - с несколькими выборами

0

У меня несколько выборок на одной странице. Мне нужно проверить их все и проверить, выбрана ли опция.

Так что в основном мне нужен jquery/js, который делает: Если у каждого выбора есть опция, то... else...

Прямо сейчас у меня есть "

   if($('.container select').val()){
     //Do stuff
        } else {
      // Do something else 
    }

Проблема в том, что этот код проверяет только первый выбор на странице, и мне нужно проверить их все!

Может ли кто-нибудь помочь?

Теги:
select

3 ответа

1
Лучший ответ

Вы можете использовать:

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>

  • 0
    У каждого выбора есть опция: <option value = "" disabled = "disabled" selected = "selected"> Сделать выбор ... </ option>, я думаю, это работает! Спасибо
2

Вы должны захватить их всех, проверить их значения и вернуться на основе представленного условия. Вы можете сделать это в цикле $.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
}
0

попробуй это:

 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");
        }
    } 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню