JQuery Selector按值选择下拉列表

时间:2013-02-22 21:01:44

标签: javascript jquery html

我有一组Yes / No下拉菜单,我想选择值为Yes的所有选择元素。

<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>

我想要一个JQuery选择器,它返回当前处于Yes状态的select节点的子集。我意识到我可以对filter()做一个简单的调用,但我更愿意在选择器中完成所有操作。

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

提前致谢。

4 个答案:

答案 0 :(得分:2)

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

See demo

答案 1 :(得分:1)

如果您希望它有效,您应该坚持使用filter,但您可以创建一个可以直接在选择器中使用的自定义过滤器:

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

按如下方式使用:

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

这是小提琴:http://jsfiddle.net/Eb3hp/

答案 2 :(得分:1)

它将是

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

它将获得具有选项的所有选择:选择值=是

FIDDLE

答案 3 :(得分:0)

$('#myform select[value=yes]');