通过其中一个'选项'元素查找'select'元素?

时间:2011-01-27 20:40:13

标签: jquery

通过select找到id并获取/设置其选定的option非常容易。但是,假设我只知道option的值,我首先需要找到具有该选项的select(假设只有一个)和然后设置要选择的option。我该怎么做?

2 个答案:

答案 0 :(得分:4)

使用它:

$('option[value="somevalue"]').attr('selected', true);

这样你就不必费心去寻找选择了,但只有在真正只有这个选项的一个实例时,或者如果你想让它们全部改变时,这才会成立。

答案 1 :(得分:2)

编辑:我刚刚注意到您的意图是按照其值设置所选选项。

要做到这一点,它真的很简单。只是做:

$('#mySelect').val('somevalue');

如果没有其他方法可以选择,那么您可以使用我之前的解决方案,然后拨打.val()


$('option[value="somevalue"]').closest('select');

这使用attribute-equals-selector(docs)获取value属性等于您要查找的值的选项。

然后它使用closest()(docs)方法获取最近的<select>祖先。

此方法的优点是'option[value="somevalue"]'是有效的querySelectorAll()(docs)选择器,因此您可以在支持它的浏览器中获得性能提升。

如果有多个<select>的选项具有该值,您可以添加到原始选择器以定位正确的选择。

$('#mySelect option[value="somevalue"]')