给出一个选择
<select id="Myselect">
<option value="-1">Please Select<option>
<option value="1">Selection 1<option>
<option value="2">Selection 2<option>
</select>
Run Code Online (Sandbox Code Playgroud)
使用JQuery确定select中是否存在值X选项的最佳方法是什么?
Nic*_*ver 32
您可以使用选择器执行此操作.length,如下所示:
var exists = $("#mySelect option[value='-1']").length !== 0;
Run Code Online (Sandbox Code Playgroud)
或者作为一个功能:
function optionExists(val) {
return $("#mySelect option[value='" + val + "']").length !== 0;
}
Run Code Online (Sandbox Code Playgroud)
如果它不是数字而你可能'在那里(例如拧紧选择器),你可以使用.filter(),如下所示:
function optionExists(val) {
return $("#mySelect option").filter(function() {
return this.value === val;
}).length !== 0;
}
Run Code Online (Sandbox Code Playgroud)
的:有()选择应该工作,是这样的:
var exists = $("#Myselect:has(option[value='X'])").length > 0;
Run Code Online (Sandbox Code Playgroud)
这远非唯一的方法,而是一种易于理解的方法.你也可以为.Exists()函数做这样的事情,因为.length > 0有时候并不清楚它是否确实存在.