我有一个包含很多input[type=text]
字段的 div。我想检查用户是否必须填写所有字段,否则会显示错误消息。为此,我尝试了:
if ($('div').children("input[type=text]").attr("value") == '')
flag = false;
else
flag = true;
但这不会检查所有文本字段,它只会检查 first-child 。如何检查所有文本字段?
我有一个包含很多input[type=text]
字段的 div。我想检查用户是否必须填写所有字段,否则会显示错误消息。为此,我尝试了:
if ($('div').children("input[type=text]").attr("value") == '')
flag = false;
else
flag = true;
但这不会检查所有文本字段,它只会检查 first-child 。如何检查所有文本字段?
尝试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
至少有一个为空,则此代码返回。
标准方式
if(!$('div').find('#idOfTextField').val()){
//empty
}
if($("div").find('input:text[value=""]').length > 0)
{
alert("error");
return false;
}