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

发布于 2024-09-18 03:09:58 字数 528 浏览 6 评论 0原文

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

<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) 添加到混合中时它不起作用。 我哪里出错了?

I've got several select elements on a page e.g.

<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>

etc etc

I would like to use jquery's $(this) to identify which of the several drop-downs have been selected and return their textual value.

I can use something like:

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

To return a specified entry but when I try to add $(this) into the mix it doesn't work.
Where am I going wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

单身狗的梦 2024-09-25 03:10:32

您可能想使用 .val() 函数,它将给出您在下拉列表中当前选定的项目值:

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

并获取文本而不是值:

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

$(this) 更常用于事件处理程序的上下文中,例如 点击更改等...

You probably want to use the .val() function which will give you the currently selected item value in the drop down list:

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

And to get the text and not the value:

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

$(this) is more commonly used in the context of an event handler like click, change, etc...

我一直都在从未离去 2024-09-25 03:10:28

由于您对它们都使用相同的类,因此您可以使用:

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

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

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

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

更多信息:

Since you are using the same class for them all, you can use that:

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

To get the value option of the selected value, you can use the val() method instead.

Note that you can also use the starts with ^ selector like this:

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

More Info:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文