如何检查选择框是否包含特定类的任何选项?

时间:2013-01-12 16:09:33

标签: javascript jquery html drop-down-menu

在jQuery中,如何检查selectbox是否包含特定类?例如,在下面的代码片段中,我想检查ID为“customerIds”的selectbox是否包含任何带有“C”或“D”类的选项。

<select id="customerIds" onchange="doOperation()">
    <option value="default"> Start..</option>
    <option value="1" class="A"> 1</option>
    <option value="2" class="B"> 2</option>
    <option value="3" class="C"> 3 </option>
</select>

4 个答案:

答案 0 :(得分:1)

例如,您可以使用:has

var hasOption = !!$("#customerIds:has(option.C,option.D)").length;

.children()也可以证明更快。

var hasOption = !!$("#customerIds").children("option.C,option.D").length;

var hasOption = !!$("#customerIds > option.C,option.D").length;

答案 1 :(得分:1)

使用hasClass()方法:http://api.jquery.com/hasClass/

例如:

$("#customerIds").find("option").hasClass("A");

答案 2 :(得分:0)

你可以这样做:

if($("#customerIds option[class='C']").length > 0) {
    //do something
}

答案 3 :(得分:0)

怎么样:

if ($('#customerIds > .C').length > 0 || $('#customerIds > .D').length > 0) {
    // ...
}

或更灵活/可优化的

var selectBox = $('#customerIds');

if (selectBox.find('.C').length > 0 || selectBox.find('.D').length > 0) {
    // ...
}