jQuery - 选中的选项值包含字符串

时间:2013-08-15 10:11:09

标签: javascript jquery

我有一个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>

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您的if声明不正确。 .filter()永远不会返回一个错误的值 - 它永远是一个jQuery集合 - 它可以是空的,但绝不是假的。要测试它,.filter()返回的jQuery集合中有任何元素,请使用.length属性。

使用:

if($("select.mySelect option:selected").filter(":contains('ALL')").length === 0) {
    ...

JSFiddle:http://jsfiddle.net/egEX8/