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

时间:2016-06-27 12:30:53

标签: jquery select 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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

};

`