2012-02-07 21 views
1

私はいくつかのフォームを持っています<select>要素。jQuery:すべて<select>の値をページで確認してください

すべての選択要素の値が「0」であることを確認したいと思います。どのように私はこれをエレガントに行うことができますか?

現在、私はこのている:

var all_zero = true; 
$('myform select').each(function() { 
    if ($(this).val() !== '0') { 
     all_zero = false; 
    } 
}); 
if (all_zero) { //do something 

誰もがそれを行うためのよりよい方法を知っていますか?

答えて

0

これは正しい方法ですが、必要に応じて変数を宣言するだけです。ように:

$('myform select').each(function() { 
    if ($(this).val() !== '0') { 
     some_zero = true; 
    } 
}); 
if (!some_zero) { //do something 
+0

が、あなたはおそらくそこもする必要がない変数をグローバルスコープを汚染してしまいます。 –

+0

あなたは正しいと思います。私はこれがグローバルスコープで実行されていると考えていたので、all_zeroは同じ方法で宣言されていました。申し訳ありません –

3

セレクタの値のテスト。

var non_zero = $('myform select[value!="0"]').length; 

if (non_zero === 0) { //do something 

"0"を持っていない何selectはありませんのであれば、non_zero === 0trueになります。

+1

セレクタAPIの+1優れた活用方法... – xandercoded

0

あなたのコードはいいです、あなたが試すことができます。コードを読むという点でおそらくクリーナー

var all_zero = $('myform select').filter(function(){return $(this).val()!='0'}).length>0 
関連する問題