jQuery按值查找选择元素

时间:2017-06-02 05:59:09

标签: jquery jquery-selectors html-select

在jQuery中,为什么$("#myid").val()返回select元素的值,但$("select[value='abcd']")找不到值为abcd的select元素?我如何做后者 - 在表格中找到值为' abcd'的所有选择元素?

编辑:我设法通过解决方法检索选择元素ID:我将选择的ID添加为其所有'选项。然后我使用:$(" option [value = abcd]:selected")查找所有选定的选项,其值为abcd,最后是$(this).attr(" myAttr")在.each(function(){})里面获取id。

有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

实际上,value代码没有select属性,因此不会被选中。您可以使用jQuery :has()伪类选择器或has()方法来获取包含具有特定属性值的选项标记的select标记。

$("select:has([value='abcd'])") 
// or 
$("select").has("[value='abcd'])")
// or
$("select [value='abcd']").parent()

<小时/> 更新:如果您要选择所有选择值为abcd的选择标记,请使用filter()方法。

$("select").filter(function(){
   return this.value == 'abcd';
})

答案 1 :(得分:0)

您可以使用以下方法获取所选值

  

$(&#34; #id选项:已选择&#34;)。val();