2017-01-20 1 views
0

У меня есть объект, называемый «Объект». {Id, Name, UpperObjectId}Как добавить раскрывающийся список в следующую строку после выбора в mvc?

Элементы DropDownList состоят из названия этих объектов.

@Html.DropDownListFor(model => objectlist[0].TempValue, 
    new SelectList(objectlist, "Id", "Name"), 
    "Choose", 
    new {@onchange = "javascript:GetItems(this.value);", 
    name = "newlist", 
    @class = "form-control"}) 

После выбора любого элемента в списке, я хочу создать новый раскрывающийся список для следующей строки, если выбранный элемент имеет дочерние объекты.

Новые элементы списка удаленных списков, верхний индекс которых равен id выбранного объекта предыдущего раскрывающегося списка. (objectlist.Where (о => o.UpperObject == selecteditem.Id))

function GetItems(objectId) { 
    var url = '@Url.Action("CreateObjectItems", "Object")'; 
    $.ajax({ 
     url: url, 
     data: { 
      objectId: objectId 
     }, 
     type: "POST", 
     success: function(data) { 
      $("#NewdropDownList").html(data); 
     }, 
    }); 

Я пытаюсь к нему с помощью Ajax. Если есть дочерний объект, создайте новый раскрывающийся список, и он работает рекурсивно, пока не останется объект для детей.

Но я не знаю Как его спроектировать?
Как я могу это сделать, используя ajax или любым другим способом?

Вы можете увидеть список моих объектов на изображении.

Here is sample objectlist

ответ

0
$.ajax({ 
      url: url, 
      data: { nesneId: nesneId }, 
      //cache: false, 
      type: "POST", 
      success: function (data) { 
       var div = document.getElementById('altliste'); 
       div.innerHTML = div.innerHTML + data; 
      }, 
      error: function (reponse) { 
       alert("error : " + reponse); 
      } 
     }); 
  • Я использовал PartialView.
  • В управлении, я проверяю, есть ли подсписок или нет.
  • если есть, то добавляет partialview html к следующей строке.
Смежные вопросы