2011-07-07 3 views
0

私の要件は入力変更です。文書内の空でない入力要素の数を確認したいと思います。私はいくつかのコードを書いたが、うまくいかないようだ。誰かが私を助けてください...ここで 変更された要素を文書に印刷するのに必要なヘルプ

$('input').change(function() 
{ 
    var Auth=$(document).find('input').has(':data').length; 
    alert(Auth); 
}); 

は私のHTMLコード

<table> 
    <tr><td><input type="text"></td></tr> 
    <tr><td><input type="text"></td></tr> 
    <tr><td><input type="text"></td></tr> 
    <tr><td><input type="text"></td></tr> 
    <tr><td><input type="text"></td></tr> 
    <tr><td><input type="text"></td></tr> 
    <tr><td><input type="text"></td></tr> 
    <tr><td><input type="checkbox"></td></tr> 
    </table> 

答えて

1
var count = 0; 
$(document).find('input').each(function() { 
    if($(this).val() !== "") { 
    count++; 
    } 
}); 

alert(count); 

非効率が、簡潔な代替

var count = $(document).find('input').filter(function() { 
    return $(this).val() !== ""; 
}).length; 

alert(count); 

編集です:速度のベンチマークにあまりにも興味があったので、ここではhttp://jsperf.com/counter-each-vs-filter-lengthです(このサイズの入力ではフィルタは8〜10%遅くなります)。

関連する問題