2012-04-13 2 views
1

선택한 유형의 값을 전달하는 방법은 무엇입니까? 나는 여기에서 그것을 전달하려는 : 내가 선택 아래 첫 번째 초기 드롭을 한 후에전달 매개 변수

@Html.DropDownListFor(model => model.SelectedType, Model.Types, new { @onchange = "getSpecificFields(value in here)",}) 

문제가있다, 제대로 모든로드됩니다. 그러나 내 선택을 변경하려고하면 페이지가 새 선택으로 업데이트되지 않습니다. 내가 어떻게 고칠 수 있니?

답변

2
@Html.DropDownListFor(
    model => model.SelectedType, 
    Model.Types, 
    new { 
     onchange = "getSpecificFields(this.value)" 
    } 
) 

다음 :

<script type="text/javascript"> 
    function getSpecificFields(value) { 
     $.get('@Url.Action("CreateSpecific", "Employee")', { type: value }, 
      function(data) { 
       $("#specificFields").replaceWith(data); 
      } 
     ); 
    } 
</script> 

또는 완전히 눈에 거슬리지 자바 스크립트 사용 : 완전히 별도의 자바 스크립트 파일에서 다음

@Html.DropDownListFor(
    model => model.SelectedType, 
    Model.Types, 
    new { 
     id = "myddl", 
     data_url = Url.Action("CreateSpecific", "Employee") 
    } 
) 

과 :

$(function() { 
    $('#myddl').change(function() { 
     var data = { type: $(this).val() }; 
     var url = $(this).data('url'); 
     $.get(url, data, function(result) { 
       $("#specificFields").replaceWith(result); 
     }); 
    }); 
}); 
+0

그것을 얻었다을, 덕분에 이렇게 많이 – BigBug

+0

@BlueMonster, 참조하십시오. 내 두 번째와 더 나은 대안은 완전히 자바 스크립트와 서버 사이드 코드를 혼합 피하고 별도의 자바 스크립트 파일에 스크립트를 삽입 할 수 있도록 눈에 거슬리는 자바 스크립트를 사용합니다. –

+0

드롭 다운 목록에서 새 선택이 이루어지면 어떻게 업데이 트합니까? 내가 윈도우를 다시로드 할 수 있다고 생각했는데 .get.하지만 작동하지 않습니다. – BigBug