0

私の DOM には 53 以上の同様selectのセクションがあり、ユーザーが選択した特定のオプションの数を数える必要があります。

私の DOM の例は次のようになります。

<select name="attendance" class="dd" id="20130101">
  <option>p</option>
  <option>a</option>
  <option>s</option>
</select>
<select name="attendance" class="dd" id="20130102">
  <option>p</option>
  <option>a</option>
  <option>s</option>
</select>
... x 51 more times!

私がやりたいのは、たとえばユーザーが「a」を選択したオプションの数量 (カウント) を返すことです。試してみ$('.dd option:selected').lengthましたが、選択したすべてのセクションの合計数 (53) が返されます。

助けてくれてありがとう!

4

3 に答える 3

5

http://jsfiddle.net/dkK5x/

$(".dd option:selected[value=a]").length;
于 2012-12-06T23:07:28.813 に答える
0

私はあなたのオプションに値属性を入れます

<select name="attendance" class="dd" id="20130101">
  <option value="p">p</option>
  <option value="a">a</option>
  <option value="s">s</option>
</select>

これにより、属性セレクターを使用してセレクターを簡単に作成できます。

$('select option[value="a"]:selected').length;

これを実際に使用して示すために、小さなフィドルを作成しました:http: //jsfiddle.net/mx5Yd/1/

「カウント」をクリックすると、「a」値で選択されたオプションの数がコンソールに記録されます

于 2012-12-06T23:12:10.470 に答える
0

この場合、セレクターを組み合わせることができます:contains

$(".dd option:contains(a):selected").length;

ただし、これは、別のオプションに完全に含まれるオプションがないことに依存します。たとえば、次のようになります。

<option>a</option>
<option>aa</option>

代わりにオプションの を設定することもできvalueます。おそらく jQuery でも可能です:

$("option").val(function () {
   return $(this).text();
});
于 2012-12-06T23:08:13.833 に答える