2012-07-05 89 views
2

我有一個包含大量input[type=text]字段的div。我想要檢查用戶是否必須填寫所有字段,否則顯示錯誤消息。對於這個我想:檢查文本字段是否爲空jquery

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

但這不會檢查所有文本字段,只檢查第一個孩子。我如何檢查所有文本字段?

回答

2

嘗試使用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); 
    }); 
});​ 

demo上的jsfiddle。

此代碼返回true如果裏面div所有input[type=text]字段填充false如果至少有一個是空的。

1

的標準方法

if(!$('div').find('#idOfTextField').val()){ 
//empty 
} 
0
if($("div").find('input:text[value=""]').length > 0) 
{ 
alert("error"); 
return false; 
}