2011-01-31 10 views
3

私は、次の内容(ジャンゴ - 生成された)の形を持っている:jqueryのカウント選択入力マッチングに必要な値

<form action="./" id="my_form" method="post"> 
... 
<select name="object_0_status" id="id_object_0_status"> 
<option value="">---------</option> 
<option value="1">Online</option> 
<option value="2">Offline</option> 
<option value="3">Unknown</option> 
</select> 
<select name="object_1_status" id="id_object_1_status"> 
<option value="">---------</option> 
<option value="1">Online</option> 
<option value="2">Offline</option> 
<option value="3">Unknown</option> 
</select> 
<select name="object_2_status" id="id_object_2_status"> 
<option value="">---------</option> 
<option value="1">Online</option> 
<option value="2">Offline</option> 
<option value="3">Unknown</option> 
</select> 
    ... 
</form> 

私はクロスです(jQueryの検証プラグインhttp://docs.jquery.com/Plugins/validationを使用して)カスタム検証方法を書いていますフォーム上の異なるエントリをチェックする。これを行うには、選択した値が '1'(たとえばオンライン)に設定されている選択ボックスの数を取得する必要があります。

選択ボックスはフォームファクトリによって生成されるため、それらの可変数が存在します。フォームには、 '_status'を終了するものだけを数えてはならない他の選択オプションもあります。

これを行う最もクリーンな方法は何ですか?あなたはends with selectorを使用することができます

おかげ

答えて

7
$('select[id$=_status] option:selected[value="1"]').length; 

は...オプションがしかし選択されている場合、これが見つからない例here

+0

これは完璧に動作します、ありがとう! – meepmeep

2

alert($('select[id$=_status]').find('option[value=1]').length); 

そのIDで_status、その後findで終わるすべての選択ボックスを通過します、その値に設定されているそれらでoptionを見つけるために使用されます1

+0

を参照してください? – fearofawhackplanet

+0

@fearofawhackplanet:選択されたオプションは、選択できるオプションが1つだけなので、任意の長さを与えます。それに対して、 ':selected'フィルタセレクタを使用することができます。 – Sarfraz

関連する問題