使用 select2 中的选项文本(不使用值)选择下拉列表

Make dropdown selected using option text (not using value) in select2

我有如下使用 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:FIDDLE

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

$(function () {
var selectedText = 'Other Text';
    $('#sel option').map(function () {
        if ($(this).text() == selectedText) return this;
    }).attr('selected', 'selected');
});

要触发值的更改,请将 .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();

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

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

};

`