使用 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 元素可从值

中选择