我有一个if语句,如果select元素的选定值不包含“ALL”,我正在尝试设置变量
这是我尝试过的代码,但它总是返回“%”...
if(!$("select.mySelect option:selected").filter(":contains('ALL')")) {
selected_option = $("select.mySelect option:selected");
} else {
selected_option = "%";
}
HTML
<select class="mySelect">
<option value="ALLTYPE1">All type 1</option>
<option value="CAR">Car</option>
<option value="VAN">Van</option>
<option value="ALLTYPE2">All type 2</option>
<option value="PLANE">Plane</option>
<option value="HELICOPTER">Helicopter</option>
</select>
有什么想法吗?
答案 0 :(得分:2)
您的if
声明不正确。 .filter()
永远不会返回一个错误的值 - 它永远是一个jQuery集合 - 它可以是空的,但绝不是假的。要测试它,.filter()
返回的jQuery集合中有任何元素,请使用.length
属性。
使用:
if($("select.mySelect option:selected").filter(":contains('ALL')").length === 0) {
...