在jQuery中,如何检查某个div.class中所有选项标签的值以确保它们已设置?
答案 0 :(得分:3)
var allSet = true;
$(".myClass select").each(function(i, el){
if($(":selected", el).length == 0){
allSet = false;
return false;
}
});
if(allSet == false){
alert("All selects are not set. :(");
} else {
alert("All selects are set. :)");
}
答案 1 :(得分:2)
假设值属性设置为:
<div class="myClass">
<select>
<option value="">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
$("div.myClass option[value='']").length === 0;
// => false
如果他们不是:
<div class="myClass">
<select>
<option>One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
$("div.myClass option[value]").length === 0;
// => false
当然,这两个检查可以合并如下:
0 === $("div.myClass option[value='']").length +
$("div.myClass option[value]").length;