Выпадающий список MVC 5 больше не заполняется jquery после изменения стиля с помощью плагина - PullRequest
0 голосов
/ 04 марта 2019

Я только что внедрил bootstrap-select в свой проект, но у меня возникла проблема с ним.В моем проекте есть выпадающие меню для отделов и мест.Список местоположений заполняется на основе выбора раскрывающегося списка отдела.После добавления класса selectpicker в раскрывающийся список местоположений он больше не заполняется данными.Я предполагаю, что этот плагин каким-то образом изменяет выпадающий список, что вызывает это.

Javascript:

$(function () {
    $("#SelectedDepartment").change(function () {
        var self = $(this);
        var items="";
        $.getJSON("@Url.Action("GetLocations","Incident")/" + self.val(),
        function(data){
            $.each(data,function(index,item){
                items += "<option value='" + item.Value + "'>" + item.Text + "</option>";
            });
            $("#SelectedLocation").html(items);
        });
    });
});

Просмотр:

<div class="row">
    <div class="form-group col-sm-6">
        Incident department/location:
    </div>

    <div class="form-group col-sm-6">
        @Html.LabelFor(model => model.Departments, htmlAttributes: new { @class = "control-label col-md-4" })
        <div class="col-md-10">
            @Html.DropDownListFor(x => x.SelectedDepartment,
                                new SelectList(Model.Departments, "Value", "Text"), new { @class = "selectpicker", @title = "Select a Department"})
            @Html.ValidationMessageFor(model => model.Departments, "", new { @class = "text-danger" })
        </div>

        @Html.LabelFor(model => model.Locations, htmlAttributes: new { @class = "control-label col-md-4" })
        <div class="col-md-10">
            @Html.DropDownListFor(x => x.SelectedLocation,
                                new SelectList(Model.Locations, "Value", "Text"), new { @class = "", @title = "Select a Location" })
            @Html.ValidationMessageFor(model => model.Locations, "", new { @class = "text-danger" })
        </div>
    </div>
</div>

1 Ответ

0 голосов
/ 05 марта 2019

Просто используйте это:

$('#SelectedLocation').selectpicker('refresh');
...