【问题标题】:Make dropdown selected using option text (not using value) in select2在 select2 中使用选项文本(不使用值)选择下拉菜单
【发布时间】:2016-10-29 11:22:55
【问题描述】:

我有如下使用 select2 的下拉菜单:

<select class=".select2" id="sel">
    <option  value="1">Some Text</option>
    <option   value="2">Other Text</option>
     <option  value="3">best Text</option>
</select>

我需要将默认选择作为特定选项,假设它是第二个选项,所以我执行以下操作:

$("#sel").select2("val","2");

它工作正常。我需要的是我只想通过使用文本值来选择选项,即类似的东西

 $("#sel").select2("text","Other Text");

请检查小提琴:FIDDLE

请指导我如何在不使用值和仅选项文本的情况下实现这一目标?

【问题讨论】:

  • 但是你的小提琴不工作
  • 让我看看哥们我会更新

标签: jquery select select2


【解决方案1】:

要触发值的更改,请将.trigger("change") 附加到您的脚本中,如下所示。

JSFIDDLE DEMO

$("#sel option:contains(Other Text)").attr('selected', true).trigger("change");

或者只是附加.change()

JSFIDDLE DEMO 2

$("#sel option:contains(Other Text)").attr('selected', true).change();

【讨论】:

  • 谢谢哥们,这就是我要找的。​​span>
  • 太棒了。乐意效劳。使用上述选项之一,第二个在语法上更简单,但基本上做同样的事情。
【解决方案2】:
$(function () {
var selectedText = 'Other Text';
    $('#sel option').map(function () {
        if ($(this).text() == selectedText) return this;
    }).attr('selected', 'selected');
});

【讨论】:

    【解决方案3】:

    您可以使用 MVC 模型变量字符串更改值 `

    function changeunloadingArea()
    {
    let $element = $("#unloadingareaselectlists");
    let val = $element.find("option:contains(@Model.UnloadingArea)").val();
    $element.val(val).trigger('change.select2');
    
    };
    

    `

    【讨论】:

      猜你喜欢
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 2022-01-10
      • 2013-12-06
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多