Каскадные выпадающие списки ASP.Net MVC 6 не заполняются

Я использую каскадные раскрывающиеся списки на странице. Первый выпадающий список заполняется из ViewBag

@Html.DropDownList("OrgGroupID",
                                        (IEnumerable<SelectListItem>)ViewBag.OrgGroups,
                                        new Dictionary<string, object>
                                        {
                                            { "class", "form-control" },
                                            { "width", "100%" },
                                            { "data-placeholder", "Select Group..." },
                                            { "onchange", "groupSelected(this)" }
                                        })

а второй заполняется, когда значение выбирается из первого. Разметка для второго раскрывающегося списка

@Html.ListBox("Devices",
                            (IEnumerable<SelectListItem>)ViewBag.Devices, 
                                new Dictionary<string, object>
                                {
                                    { "id", "devices"},
                                    { "class", "chosen-select form-control" },
                                    { "width", "100%" },
                                    { "data-placeholder", "Select Devices..." }
                                })  

и функция jquery для заполнения второго раскрывающегося списка

function groupSelected(obj) {            
var selectedGroupId = obj.options[obj.selectedIndex].value;            

$.ajax({
    url: "../Devices/DevicesByGroupId",
    type: "GET",
    dataType: "JSON",
    data: { groupId: selectedGroupId },
    success: function (devicesData) {                                             
        $("#devices").html("");
        $.each(devicesData, function (index, itemData) {                        
            $("#devices").append(
                $("<option></option>").val(itemData.Value).html(itemData.Text)
            );                        
        });
    }
});
}

Вызываемый метод API выполняет и возвращает данные, но по какой-то причине значения не добавляются во второй раскрывающийся список.

Пожалуйста, предложите, что мне здесь не хватает.


person Fahad Amin    schedule 01.09.2016    source источник
comment
Имена ваших классов предполагают использование вами выбранного плагина. Временно отключите это и подтвердите, что параметры загружаются   -  person    schedule 01.09.2016


Ответы (1)


@StephenMuecke, ты спас моего друга! Удаление класса выбора-выбора загрузило данные. Я только что обнаружил, что мне нужно вызвать

$("#devices").trigger("chosen:updated");

для обновления списка. Большое спасибо, что указали мне в этом направлении :)

person Fahad Amin    schedule 01.09.2016