为什么我的jquery val()没有从我的选择框中选择实际选中的值?

时间:2012-05-22 18:49:07

标签: javascript jquery

当我输入$('select[id*=lstAdvGradYear]') chrome给我

<select name="Views\ContentArea$ctl00$lstAdvGradYear" id="Views\ContentArea_ctl00_lstAdvGradYear" class="ddReplace" style="display: none; ">
    <option value="2016">2016</option>
    <option value="2015">2015</option>
    <option value="2014">2014</option>
    <option selected="selected" value="2013">2013</option>
    <option value="2012">2012</option>

</select>

当我使用$('select[id*=lstAdvGradYear]').val()键入"2016" chrome回复时。

当我输入$('select[id*=lstAdvGradYear] option:selected ').val()时,Chrome也会回复"2016"

当我使用$('select[id*=lstAdvGradYear] option:selected')

键入[<option value="2016">2016</option>] chrome回复时

我做错了什么?

我已经确认没有其他具有类似名称的下拉菜单

<小时/> 编辑:要明确,我的问题是.val()应该返回2013年而不是2016

1 个答案:

答案 0 :(得分:3)

这是因为在前两种情况下,你调用了$ .val()函数,但在最后一种情况下,你没有调用。

$ .val()返回HTML元素的值。 $()返回一个表示一个或多个html元素的对象,您可以调用许多方法,包括$ .val()

更新:根据文档(http://api.jquery.com/attribute-contains-selector/),id*=右边的值似乎是应该用引号括起来。这有什么不同吗?