3

我有一个包含很多input[type=text]字段的 div。我想检查用户是否必须填写所有字段,否则会显示错误消息。为此,我尝试了:

if ($('div').children("input[type=text]").attr("value") == '') 
 flag = false; 
else 
 flag = true;

但这不会检查所有文本字段,它只会检查 first-child 。如何检查所有文本字段?

4

3 回答 3

3

尝试find()改用

 if ($('div').find("input[type=text]").val() == '')

要检查所有输入项,您需要使用each().

正确的代码是:

$(function() {
    $('input:submit').click(function(){
        var flag = true;
        $('div').find("input[type=text]").each(function(){
            if($(this).val() === '') flag = false
        });

        alert(flag);
    });
});​

请参阅jsFiddle 上的演示。

true如果里面的所有input[type=text]字段div都已填写并且false至少有一个为空,则此代码返回。

于 2012-07-05T09:50:47.097 回答
1

标准方式

if(!$('div').find('#idOfTextField').val()){
 //empty
}
于 2012-07-05T09:51:54.560 回答
0
if($("div").find('input:text[value=""]').length > 0)
{
 alert("error");
 return false;
}
于 2012-11-11T11:27:15.037 回答