0

jQueryで、選択ボックスに特定のクラスが含まれているかどうかを確認するにはどうすればよいですか?たとえば、以下のコードスニペットでは、IDが「customerIds」の選択ボックスにクラス「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

4 に答える 4

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;
于 2013-01-12T16:12:30.630 に答える
1

hasClass()メソッドを使用します:http: //api.jquery.com/hasClass/

例えば:

$("#customerIds").find("option").hasClass("A");
于 2013-01-12T16:13:23.370 に答える
0

できるよ:

if($("#customerIds option[class='C']").length > 0) {
    //do something
}
于 2013-01-12T16:12:55.117 に答える
0

どうですか:

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

または、より柔軟で最適化可能なもの

var selectBox = $('#customerIds');

if (selectBox.find('.C').length > 0 || selectBox.find('.D').length > 0) {
    // ...
}
于 2013-01-12T16:17:14.663 に答える