检查选择选项是否已存在

时间:2012-10-10 05:43:06

标签: javascript jquery html

  

可能重复:
  How can I check whether a option already exist in select by JQuery

我有

<select name="saved" class="saved" multiple="multiple">
<option value="1">Hello</option>
<option value="2">Goodbye</option>
<option value="3">Wave</option>
</select>

我如何检查Jquery是否在if语句的“saved”中已经有一个value =“2”的选项

我希望看看它是否存在 - 如果它被选中则不存在。


我在一个可以在多个选择框上操作的功能中使用它。选择框的类名现在存储为var“theSel” - 如何为此修改


5 个答案:

答案 0 :(得分:10)

您可以使用length属性:

if ($('select.saved option[value="2"]').length) {
   // exists
}

$(document).ready(function(){
    // ...
    if ($('select.'+theSel+' option[value="'+theValue+'"]').length) {
       // exists
    }
})

答案 1 :(得分:3)

if( $('.saved option[value="2"]').length ){
   alert('Found !!')
}

OR

if( $('.saved').has('option[value="2"]')){
   alert('Found !!')
}​

您可以使用.length属性或.has()

CHECK FIDDLE

答案 2 :(得分:0)

if ($('.saved option[value="2"]').length >0) {

}

答案 3 :(得分:0)

您可以像这样使用attribute equals selector

if($('select[name="saved"] > option[value="5"]').length > 0) {
    console.log("Already exists");
}

答案 4 :(得分:0)

if( $("option[value='" + theValue + "']", "select." + theSel).length > 0 ) {

    // option exists

}

其中theValue是您的存储值,theSel是您存储的类名。