我试图查看一个选项是否已经存在于select中但我想使用之前声明的变量设置为该对象,而没有option[value]
选择器。
示例:如果选项存在,将评估为true(我不想使用此选项)
$("#mySelect option[value='myValue']").length > 0;
如果我将#mySelect
设置为变量,而不是使用option[ ] selector
var obj = $("#mySelect");
我如何检查同样的事情?
我尝试了prop('options')
,但似乎无法按值检查......
提前致谢。
答案 0 :(得分:1)
<强>更新强>
您首先获得选择和选项的句柄,如下面编码
var mySelect = $("#mySelect");
var optionMyValue = mySelect.find("option[value='myValue']");
一旦它们存储在变量中,您就不再需要重新查询DOM了。我制作了一个小代码片段来说明这一点。
$(document).ready(function () {
// Store mySelect and optionMyValue in a variable
var mySelect = $("#mySelect");
var optionMyValue = mySelect.find("option[value='myValue']");
$("#button").click(function () {
if (optionMyValue.length) {
optionMyValue.prop("selected", true);
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mySelect">
<option value=""></option>
<option value="myValue">myValue</option>
<option value="myValue2">myValue2</option>
<option value="myValue3">myValue3</option>
<option value="myValue4">myValue4</option>
</select>
<input type="button" id="button" value="Click to select myValue">
&#13;
答案 1 :(得分:1)
$(document).ready(function () {
var optionMyValue = $("#mySelect");
$("#button").click(function () {
if (optionMyValue.children("option[value='myValue']").length) {
optionMyValue.children("option[value='myValue']").prop("selected", true);
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mySelect">
<option value=""></option>
<option value="myValue">myValue</option>
<option value="myValue2">myValue2</option>
<option value="myValue3">myValue3</option>
<option value="myValue4">myValue4</option>
</select>
<input type="button" id="button" value="Click to select myValue">
&#13;