使用值获取所选下拉选项的对象

时间:2017-06-19 19:38:24

标签: javascript jquery

我有一个下拉列表,我需要使用该值获取整个对象。我可以使用带有包含的文本来获取它,但同样的值不起作用。这是我的代码。我做错了什么?



//var option = $("#car option:contains('Volvo')");
//alert(option.attr('value'));

var option = $("#car option:contains('value1')");
alert(option.attr('value'));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="car">
  <option value="value1">Volvo</option>
  <option value="value2">Saab</option>
  <option value="value3">Mercedes</option>
  <option value="value4">Audi</option>
</select>
&#13;
&#13;
&#13;

评论部分工作正常。我需要找到一种方法来使用该值来获取整个对象。

4 个答案:

答案 0 :(得分:1)

//var option = $("#car option:contains('Volvo')");
//alert(option.attr('value'));

var option = $("#car option[value=value1]");
alert(option.attr('value'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="car">
  <option value="value1">Volvo</option>
  <option value="value2">Saab</option>
  <option value="value3">Mercedes</option>
  <option value="value4">Audi</option>
</select>

答案 1 :(得分:1)

:contains选择器选择包含指定文本的元素。您可以使用[attribute = "value"] ..我强烈建议您阅读Selectors Here

//var option = $("#car option:contains('Volvo')");
//alert(option.attr('value'));

var option = $("#car option[value='value1']");
alert(option.attr('value'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="car">
  <option value="value1">Volvo</option>
  <option value="value2">Saab</option>
  <option value="value3">Mercedes</option>
  <option value="value4">Audi</option>
</select>

答案 2 :(得分:1)

问题是jQuery:contains只引用元素的文本节点,而不是属性的内容。

您可以通过以下方式使用属性的选择器:

public object Execute(.......)
{
    var breaker = Policy
            .Handle<Exception>()
            .CircuitBreaker(2, TimeSpan.FromMinutes(1));
    return breaker.Execute(() => this.hamburgerQuery.GetHamburgers());
}

答案 3 :(得分:0)

var e = document.getElementById("car");
var selectedOption = e.options[e.selectedIndex].value;
alert(selectedOption);

首先,您使用变量e定位选择列表元素,然后使用该元素的状态并将其分配给selectedOption