jQuery - 如何通过文本选择下拉列表项?

发布于 2024-10-13 04:19:12 字数 57 浏览 0 评论 0原文

如何通过文本而不是值选择下拉列表项?

我想用 jQuery 通过文本选择一个下拉项。

How would I select my dropdown list item by text rather than value?

I want to select a dropdown item by text with jQuery.

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

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

发布评论

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

评论(6

〆凄凉。 2024-10-20 04:19:12

使用 :contains()(link)

$("select option:contains(text)").attr('selected', true);

演示

use :contains()(link)

$("select option:contains(text)").attr('selected', true);

demo

清晰传感 2024-10-20 04:19:12

jQuery 上有一个过滤函数,您可以使用它来获取具有更具体内容的元素

$("select option").filter(function() {
    return $(this).text() == "text_to_select";
});

这将是返回文本中带有“text_to_select”的所有选项。

There is a filter function on jQuery that you can use to get elements with something more specific

$("select option").filter(function() {
    return $(this).text() == "text_to_select";
});

This is going to return all options with the "text_to_select" in the text.

高速公鹿 2024-10-20 04:19:12

我想这会对你有用......

$("#selectId").find("option:contains('text')").each(function(){
  if( $(this).text() == 'Text that should be matched' ) {
    $(this).attr("selected","selected");
  }
});

i think this will do the trick for you...

$("#selectId").find("option:contains('text')").each(function(){
  if( $(this).text() == 'Text that should be matched' ) {
    $(this).attr("selected","selected");
  }
});
盛夏已如深秋| 2024-10-20 04:19:12

这是我使用的代码(它与这里的其他建议不太一样,并且适用于 jQuery v1.8.3)

var userToSearchFor = 'mike';   //  Select any options containing this text

$("#ListOfUsers").find("option:contains('" + userToSearchFor +"')").each(function () {
   $(this).attr("selected", "selected");
});

<select id="ListOfUsers" ></select>

希望这会有所帮助。

Here's the code I use (it's not quite the same as the other suggestions here, and works with jQuery v1.8.3)

var userToSearchFor = 'mike';   //  Select any options containing this text

$("#ListOfUsers").find("option:contains('" + userToSearchFor +"')").each(function () {
   $(this).attr("selected", "selected");
});

<select id="ListOfUsers" ></select>

Hope this helps.

贪恋 2024-10-20 04:19:12

我也遇到过类似的情况,有国家、州和城市的下拉菜单。国家有“印度”和“英属印度洋领地”。 :contains() 的问题是它会尝试进行两个匹配。我做了类似的事情:

$('#country option').each(function(){
    if($(this).text() == 'India'){
        $(this).prop('selected', true).trigger('change');
    }
});

I had a similar scenario with dropdowns for country, state and city. Country had "India" as well as "British Indian Ocean Territory". The issue with :contains() is that it attempts on both matches. I did something like:

$('#country option').each(function(){
    if($(this).text() == 'India'){
        $(this).prop('selected', true).trigger('change');
    }
});
抚你发端 2024-10-20 04:19:12
$("selecter option:contains('" + data[i].ID+ "')").attr('selected', 'selected');
$("selecter option:contains('" + data[i].ID+ "')").attr('selected', 'selected');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文