我正在使用 select2 jquery 插件。我无法将文本设置/分配给选择控件。我使用带有触发功能的 select2 来设置值。首先,我采取的控制是 MVC 中的辅助类下拉菜单@Html.DropDownList。我收到类似无法读取未定义的属性(读取“文本”)之类的错误。我的代码如下:
索引.cshtml:
@Html.DropDownList("ddl", ViewBag.classFieldList as SelectList, "Select class", new { @id = "ddl", @class = "form-control", @name = "ddl", @onchange = "Checkclassvalu(this)" })
<Script>
$(document).ready(function () {
$('#ddl').select2({
// closeOnSelect: false,
});
var ddlclassvalue = 'seventh';
alert('class is : ' + ddlclassvalue);
var optionValue = $("#ddl option:contains('" + ddlclassvalue + "')").val();
$("#ddl").select2("val", optionValue).trigger('change');
});
</script>
我得到的错误是: 无法读取未定义的属性(读取“文本”)
无法设置/分配文本到选择控件
这是我从select2 webiste找到的。
$('#mySelect2').val('1'); // Select the option with a value of '1'
$('#mySelect2').trigger('change'); // Notify any JS components that the value changed
它在我这边的 ASP.NET Core MVC 应用程序中工作。就像您在下面的代码和屏幕截图中看到的那样,默认情况下选择了location2,并使用代码使其选择location3
@Html.DropDownList("ddl", ViewBag.classFieldList as SelectList, "Select class", new { @id = "ddl", @class = "form-control", @name = "ddl" })
@section Scripts{
<script>
$(document).ready(function () {
$('#ddl').select2({
// closeOnSelect: false,
});
var ddlclassvalue = 'localtion3';
var optionValue = $("#ddl option:contains('" + ddlclassvalue + "')").val();
alert(optionValue);
$("#ddl").val(optionValue);
$('#ddl').trigger('change');
});
</script>
}