2011-02-03 5 views
0

空のテキストボックスの数を調べるにはどうすればよいですか?空のテキストボックスの数を見つける方法は?

$('input:text.jqValueText[value=" "]').length 

これは部分的に機能しています。しかし、私は空のスペースを入力した場合、これは失敗した...

は1行で空のテキストボックスを見つけるためにどのような方法があります...それは空のスペースを受け入れるべきではありません

答えて

4

HTML:

<asp:TextBox ID="txt1" runat="server" CssClass="txt"></asp:TextBox> 
<asp:TextBox ID="TextBox1" runat="server" CssClass="txt"></asp:TextBox> 
<asp:TextBox ID="TextBox2" runat="server" CssClass="txt"></asp:TextBox> 
<asp:TextBox ID="TextBox3" runat="server" CssClass="txt"></asp:TextBox> 

はJQuery:空間のみを有するものを選択します

var vEmptyTextBox = $(".txt").filter(function(){ 
    return $.trim($(this).val()) == ''; 
}).length; 
alert(vEmptyTextBox); 
2

EDIT:

申し訳ありません

てみhttp://api.jquery.com/jQuery.trim/

$.trim($('input:text.jqValueText[value=" "]')).length 

EDIT:

方法について:

var count = 0; 

$.("input[type=text]").each(function(){ 
    if($.trim($(this).val()).length == 0) 
    { 
     count++; 
    } 
}); 
+0

... – ThiefMaster

+0

-1、@Robは、ThiefMasterさんのコメントに注意してくださいおそらく 'value^=" "'を使ってその問題を部分的に解決することができます(空のものはまだカウントしませんその通り)。さらに重要なのは、 '$ .trim()'は文字列を受け取ります(リンク先のドキュメントを参照してください)。しかし、あなたはjQueryオブジェクトを渡しています。たぶんあなたの答えを考え直してください。 '$ .trim()'やjQuery 'filter()'を使うループを書いてください。それが現れても、あなたの答えはうまくいかない – davin

0

は、この目的のためにカスタムセレクタ:emptyValueを作成します。

$.expr[':'].emptyValue = function(obj) { 
    return $.trim(obj.value) == ''; 
}; 

あなたはそれがselectboxesのために仕事をしたい場合は、あまりにも、あなたが死んで正しい@ThiefMasterobj.value$(obj).val()と置き換えます。

1

$('input:text[value=""]').length;

関連する問題