我有一个jQuery脚本,用于检查至少有一个输入字段是否包含文本,但是它不检查我的select选项。有人可以帮我实施吗?
剧本:
$(function(){
$("#myform").submit(function(){
var valid=0;
$(this).find('input[type=text]').each(function(){
if($(this).val() != "") valid+=1;
});
if(valid){
alert(valid + " inputs have been filled");
return true;
}
else {
alert("error: you must fill in at least one field");
return false;
}
});
});
以及用于测试此内容的HTML:
<form action="/echo/html" id="myform" method="post">
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<select name="something" id="something" type="text">
<option value=""></option>
<option value="one">Option one</option>
<option value="two">Option two</option>
<option value="three">Option three</option>
</select>
<input type="submit"/>
</form>
答案 0 :(得分:11)
对于一个同时获取'select'和'input'元素的语句,只需将单个jQuery选择器更改为多选择器,如下所示:
$(this).find('input[type=text], select').each(function(){
if($(this).val() != "") valid+=1;
});