使用jquery $(this)识别选择下拉文本

时间:2010-09-06 17:28:55

标签: jquery select text this drop-down-menu

我在页面上有几个选择元素,例如

<select class="dd" id="dropdown1">
    <option value="123">Option A</option>
    <option value="234">Option B</option>
</select>
<select class="dd" id="dropdown2">
    <option value="456">Option C</option>
</select>

等等

我想使用jquery的$(this)来识别已经选择了几个下拉列表中的哪一个并返回它们的文本值。

我可以使用类似的东西:

$("#dropdown1 :selected").text() 

要返回指定的条目,但是当我尝试将$(this)添加到混合中时,它不起作用。 我哪里错了?

2 个答案:

答案 0 :(得分:12)

由于你对它们使用相同的类,你可以使用它:

$(".dd").change(function(){
  alert($('option:selected', $(this)).text());
});

要获取所选值的value选项,您可以使用val()方法。

请注意,您也可以使用starts with ^选择器,如下所示:

$("select[id^='dropdown']").change(function(){
  alert($('option:selected', $(this)).text());
});

更多信息:

答案 1 :(得分:2)

您可能希望使用.val()功能,它会在下拉列表中为您提供当前所选的项目值:

var selectedValue = $('#dropdown1').val();

获取文本而不是值:

var selectedText = $('#dropdown1 option:selected').text();

$(this)更常用于clickchange等事件处理程序的上下文中。