2017-01-20 102 views
0

我有一個名爲「Object」的實體。 {ID,名稱,UpperObjectId}下拉列表中如何在mvc中選擇後將下拉列表添加到下一行?

項目是由那些對象的名字。

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

在列表中選擇任何項目後,如果選定的項目具有子對象,我想創建新的下拉列表到下一行。

新下拉列表顯示其UpperObjectId等於上一個下拉列表中選定對象的ID的項目。 (objectlist.Where(O => 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附加到下一行。
相關問題