Javascript jQuery-所选选项值包含字符串
我有一个if语句,如果select元素的选定值不包含“ALL”,我将尝试设置一个变量 这是我尝试过的代码,但它总是返回“%” HTMLJavascript jQuery-所选选项值包含字符串,javascript,jquery,Javascript,Jquery,我有一个if语句,如果select元素的选定值不包含“ALL”,我将尝试设置一个变量 这是我尝试过的代码,但它总是返回“%” HTML 所有类型1 汽车 厢式货车 所有类型2 飞机 直升机 有什么想法吗?如果你的陈述不正确.filter()将永远不会返回假值-它将始终是jQuery集合-可以为空,但决不会为假。要测试它,jQuery集合中有.filter()返回的任何元素,请使用.length属性 使用: JSFiddle here:请提供相应的HTML。+1:(以秒计!)已经在您的答案中添
所有类型1
汽车
厢式货车
所有类型2
飞机
直升机
有什么想法吗?如果你的
陈述不正确.filter()
将永远不会返回假值-它将始终是jQuery集合-可以为空,但决不会为假。要测试它,jQuery集合中有.filter()
返回的任何元素,请使用.length
属性
使用:
JSFiddle here:请提供相应的HTML。+1:(以秒计!)已经在您的答案中添加了fiddle。是否有方法检查该值是否包含“ALL”?是的。您可以使用.text().toLowerCase().indexOf('all')!=-1
即如果($(“select.mySelect选项:selected”).text().toLowerCase().indexOf('all')!=-1)
是否.text()返回文本而不是值?
if(!$("select.mySelect option:selected").filter(":contains('ALL')")) {
selected_option = $("select.mySelect option:selected");
} else {
selected_option = "%";
}
<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>
if($("select.mySelect option:selected").filter(":contains('ALL')").length === 0) {
...