使用prop()按值获取jQuery选项

时间:2018-02-13 22:15:41

标签: jquery

我试图查看一个选项是否已经存在于select中但我想使用之前声明的变量设置为该对象,而没有option[value]选择器。

示例:如果选项存在,将评估为true(我不想使用此选项)

$("#mySelect option[value='myValue']").length > 0;

如果我将#mySelect设置为变量,而不是使用option[ ] selector

var obj = $("#mySelect");

我如何检查同样的事情?

我尝试了prop('options'),但似乎无法按值检查......

提前致谢。

2 个答案:

答案 0 :(得分:1)

<强>更新

您首先获得选择和选项的句柄,如下面编码

var mySelect = $("#mySelect");
var optionMyValue = mySelect.find("option[value='myValue']");

一旦它们存储在变量中,您就不再需要重新查询DOM了。我制作了一个小代码片段来说明这一点。

&#13;
&#13;
$(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;
&#13;
&#13;

答案 1 :(得分:1)

&#13;
&#13;
$(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;
&#13;
&#13;