我有三个select
元素:
<select id="first">
<option></option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
<select id="second">
<option></option>
<option value="d">d</option>
<option value="e">e</option>
<option value="f">f</option>
</select>
<select id="three">
<option></option>
<option value="g">g</option>
<option value="h">h</option>
<option value="i"></option>
</select>
所有这三个必须为空(第一个选项)或具有值。
所以<option></option> <option></option> <option></option>
没问题
但不是<option value="a">a</option> <option></option> <option></option>
有点事。
我已经尝试了这个,但它没有工作,因为它不允许所有三个都为空并退出第一个案例
if($("#first").val() === "" || $("#second").val() === "" || $("#third").val() === ""){
return false;
}
有任何帮助吗?我想尽可能短/好看
答案 0 :(得分:5)
你可以
var $selects = $('#first, #second, #three'),
$selected = $selects.filter(function () {
return this.value != ''
});
if ($selected.length != 0 && $selected.length != $selects.length) {
return false;
}
演示:Fiddle
答案 1 :(得分:1)
var first = $("#first").val();
var second = $("#first").val();
var three = $("#first").val();
var isValid = false;
if((first.length>0 && second.length>0 && three.length>0) || (first.length==0 && second.length>== && three.length==0)){
isValid = true;
}
答案 2 :(得分:0)
试试这个:
if($("#first").find('option').length <=1 || $("#second").find('option').length <=1 || $("#third").find('option').length <=1){
return false;
}