0

[はい/いいえ]ドロップダウンのセットがあり、[はい]の値を持つすべての選択要素を選択したいと思います。

<select name="foo1">
  <option value="yes">Yes</option>
  <option value="no">No</option>
</select>
<select name="foo2">
  <option value="yes">Yes</option>
  <option value="no">No</option>
</select>
<select name="foo3">
  <option value="yes">Yes</option>
  <option value="no">No</option>
</select>

現在Yesの状態にあるselectノードのサブセットを返すJQueryセレクターが欲しいのですが。filter()を簡単に呼び出すことができることはわかっていますが、すべてセレクターで実行したいと思います。

$('#myform select').filter(function(k,v){return v.value == 'yes';})

前もって感謝します。

4

4 に答える 4

2
$('#myform select option[value="yes"]:selected').parent()

デモを見る

于 2013-02-22T21:05:05.930 に答える
1

効率的にしたい場合は、に固執する必要filterがありますが、セレクターで直接使用できるカスタムフィルターを作成できます。

$.expr[':'].value = $.expr.createPseudo(function (value) {
    return function (el) {
        return el.value == value;
    };
});

次のように使用します。

$('select:value(yes)');

これがフィドルです:http://jsfiddle.net/Eb3hp/

于 2013-02-22T21:06:35.310 に答える
1

それはそのようになります

$('#form select:has(option[value=yes]:selected)')

option:selected with value=yesを持つすべてのselectを取得します

フィドル

于 2013-02-22T21:11:21.857 に答える
0
$('#myform select[value=yes]');
于 2013-02-22T21:03:08.987 に答える