2014-02-25 125 views
0

我在一个页面上有多个选择。我需要全部检查它们,并检查是否选择了一个选项。检查选项是否被选中 - 有多个选择

所以基本上我需要一些jQuery的/ JS,做: 如果每个选择已选择一个选项,然后... ...其他

现在我有”

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

的问题是:此代码只检查页面上的第一选择,我需要检查他们所有

任何人可以帮助

+0

http://stackoverflow.com/questions/10213620/how-to-check-if-an-option-is-selected – ggdx

回答

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

每个选择都有以下选项:,我认为这可行!谢谢 – Niek95

2

你必须抓住他们,检查丁字!?继承人的价值和回报基于提出的条件。您可以在$。每个循环做到这一点:

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"); 
     } 
    } 
相关问题