0

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

@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, который в настоящее время вызывается выполняется и возвращает данные, но по какой-то причине, значения не являются добавлен во второй раскрывающийся список.

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

+0

Ваши имена классов предлагают использовать выбранный плагин. Временно отключите это и убедитесь, что параметры загружаются –

ответ

0

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^