2

可能重复:
如何通过 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 语句中的“已保存”中是否已经存在 value="2" 的选项

我正在寻找它是否存在 - 如果它被选中,则不是。


我在一个可能对多个选择框进行操作的函数中使用它。选择框的类名现在存储为 var "theSel" - 我该如何修改它


4

5 回答 5

10

您可以使用length属性:

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

$(document).ready(function(){
    // ...
    if ($('select.'+theSel+' option[value="'+theValue+'"]').length) {
       // exists
    }
})
于 2012-10-10T05:47:01.493 回答
3
if( $('.saved option[value="2"]').length ){
   alert('Found !!')
}

或者

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

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

检查小提琴

于 2012-10-10T05:46:53.300 回答
0
if ($('.saved option[value="2"]').length >0) {

}
于 2012-10-10T05:50:17.273 回答
0

您可以像这样使用attribute equals选择器

if($('select[name="saved"] > option[value="5"]').length > 0) {
    console.log("Already exists");
}
于 2012-10-10T05:52:26.123 回答
0
if( $("option[value='" + theValue + "']", "select." + theSel).length > 0 ) {

    // option exists

}

theValue您的存储值在哪里,theSel是您存储的类名。

于 2012-10-10T06:27:59.413 回答