我有一组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';})
提前致谢。
答案 0 :(得分:2)
$('#myform select option[value="yes"]:selected').parent()
答案 1 :(得分:1)
如果您希望它有效,您应该坚持使用filter
,但您可以创建一个可以直接在选择器中使用的自定义过滤器:
$.expr[':'].value = $.expr.createPseudo(function (value) {
return function (el) {
return el.value == value;
};
});
按如下方式使用:
$('select:value(yes)');
答案 2 :(得分:1)
答案 3 :(得分:0)
$('#myform select[value=yes]');