2012-10-31 2 views
0

저는 현재 ASP.NET MVC 4에서 일하고 있으며 저는 여기서 특별한 것을하려고 노력하고 있습니다.선택한 값 목록 항목의 드롭 다운 목록이 가능합니까?

여기에 나는 현재 내 드롭 다운리스트에 대해 가지고있는 코드입니다 :

@Html.DropDownListFor(m => m.SourceList, new SelectList(Model.SourceList, "Id", "Name", new { id = "SourceList" })) 

지금이 작동하지만, 내가 여기서 뭘하는지 꽤 바보입니다. 내 백엔드에서 방금 선택한 ID로 전체 모델을 다시 쿼리합니다.

내가 필요한 것은 선택한 모델의 ID가 아니라 전체 모델입니다. 이 일을하는 방법이 있습니까?

나의 현재 JQuery와 콜백 :

$.ajax({ 
      url: '@Url.Action("SetLicensesAfterSourceChange", "Permission")', 
      type: 'POST', 
      dataType: 'json', 
      contentType: 'application/json;', 
      data: JSON.stringify({ "Id" : selectedStartSourceId, "sourceList" : jsonSourceList }), 
      success: function (result) { 
       //Do stuff here 
      } 
     }); 
내가 할 수 있기를 원하는 것은

:

$.ajax({ 
      url: '@Url.Action("SetLicensesAfterSourceChange", "Permission")', 
      type: 'POST', 
      dataType: 'json', 
      contentType: 'application/json;', 
      data: "selectedModel" = modelFromDropDownList, 
      success: function (result) { 
       //Do stuff here 
      } 
     }); 

답변

0

그것은 아마 조금 억지입니다하지만 당신의 자바 스크립트 배열 표현을 만들 수 귀하 소스 객체의 전체 목록을 만들고, jQuery와 간단한 html select (id는 & 옵션)를 사용하여 배열에서 항목을 검색합니다.

<script> 
var items = [ 
{ 
    name = "een", 
    value = "1", 
    propertyX = "hallo" 
}, 
{ 
    name = "twee", 
    value = "2", 
    propertyX = "wereld" 
} 
]; 

$("#ddlselect").change(function(e) { 
    e.preventDefault(); 

    var selectedOptionVal = $(this).val(); 

    var found = null; 
    foreach (item in items) 
    { 
    if (!found && item.value == selectedOptionVal) 
     found = item; 
    } 

    // use found if set 
    if (found) 
    { 
    } 
}); 

</script> 

<select id="ddlselect"> 
    <option value="">-- kies --</option> 
    <option value="1">een</option> 
    <option value="2">twee</option> 
</select> 
+0

현재 모델을 내 컨트롤러에 매개 변수로 제공하고 .FirstOrDefault()를 사용하여 올바른 모델을 얻습니다. 변화하고자하는 것이 바로 이것입니다. 나는 올바른 객체를 반환하고 모든 객체의 선택된 ID 및 목록을 반환하지 않으므로 .FirstOrDefault()를 스크랩하고 싶습니다. – whodares

+0

서버 목록에서 모델 목록을 사용할 수 있습니까? (예를 들어 서버 캐시에서) – Chris

+0

wcf 서비스를 사용하고 있으므로 서버 캐시가있을 것입니다. 내가 사용하고자하는 모델은 내 드롭 다운 목록에있는 모델입니다. – whodares

관련 문제