使用 select2 与 MVC 模型绑定
Using select2 With MVC model binding
我正在使用两个带有 MVC 模型绑定的 Select2。
一个有来自模型的列表值,第二个有值
第一个的条件 Ajax。
Chtml :
<select asp-for=select2firstdropdown tabindex="19">
@foreach (DataRow item in (ViewData["listone_obj"] as DataTable).Rows)
{
<option value="@item["ListID"]" selected>@item["ListTitle"]</option>
}
</select>
<select asp-for=select2seconddropdown tabindex="19"></select>
和 js :
$(document).ready(function () {
$("#select2firstdropdown").select2();
$("#select2seconddropdown").select2({
language: "fa",
ajax: {
url: "/Contraoller/Getlistforseconddorpdown",
dataType: 'json',
delay: 250,
data: function (params) {
return {
searchterm: params.term, // search term
publicationid: $("#select2firstdropdown").val(),
page: params.page
};
},
processResults: function (data, params) {
params.page = params.page || 1;
var o = JSON.parse(data);
return {
results: $.map(o, function (item) {
return {
text: item.title,
id: item.id
}
}),
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 0
});
$("#select2firstdropdown").val(select2firstdropdownselectedID);
$("#select2seconddropdown").val(select2seconddropdownselectedID).trigger("change");
}
现在,如果我打开包含模型结果的视图,第一个 selec2 下拉列表显示所选值,但第二个为空。
您没有使用任何选项初始化第二个下拉列表,因此没有 option
元素可从值
中选择
我正在使用两个带有 MVC 模型绑定的 Select2。
一个有来自模型的列表值,第二个有值
第一个的条件 Ajax。
Chtml :
<select asp-for=select2firstdropdown tabindex="19">
@foreach (DataRow item in (ViewData["listone_obj"] as DataTable).Rows)
{
<option value="@item["ListID"]" selected>@item["ListTitle"]</option>
}
</select>
<select asp-for=select2seconddropdown tabindex="19"></select>
和 js :
$(document).ready(function () {
$("#select2firstdropdown").select2();
$("#select2seconddropdown").select2({
language: "fa",
ajax: {
url: "/Contraoller/Getlistforseconddorpdown",
dataType: 'json',
delay: 250,
data: function (params) {
return {
searchterm: params.term, // search term
publicationid: $("#select2firstdropdown").val(),
page: params.page
};
},
processResults: function (data, params) {
params.page = params.page || 1;
var o = JSON.parse(data);
return {
results: $.map(o, function (item) {
return {
text: item.title,
id: item.id
}
}),
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 0
});
$("#select2firstdropdown").val(select2firstdropdownselectedID);
$("#select2seconddropdown").val(select2seconddropdownselectedID).trigger("change");
}
现在,如果我打开包含模型结果的视图,第一个 selec2 下拉列表显示所选值,但第二个为空。
您没有使用任何选项初始化第二个下拉列表,因此没有 option
元素可从值