8

我有一个 jQuery 脚本,它检查是否至少一个输入字段包含文本,但它不检查我的选择选项。有人可以帮我实施吗?

剧本:

$(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>​
4

1 回答 1

11

对于一个同时获取 'select' 和 'input' 元素的语句,只需将单个 jQuery 选择器更改为多个选择器,如下所示:

$(this).find('input[type=text], select').each(function(){
            if($(this).val() != "") valid+=1;
        });
于 2012-11-16T12:30:55.670 回答