2012-03-13 1 views
3

검색 페이지가 있으며 필터를 추가하고 싶습니다. 설치가 간단하며 국가 별 CombobBox와 미국 ComboBox가 있습니다.telerik mvc의 기본값으로 계단식 Combobox

내가 어떤 나라도 선택하지 않으면 모든 상태를 보여주고 싶어 여기에 내 코드입니다 (실제로, 국가 콤보 상자의 첫 번째 항목은 "모든"입니다) :

@(Html.Telerik().ComboBoxFor(m => m.Country) 
     .Name("cbxCountry") 
     .BindTo(this.Model.CountryList) 
     .SelectedIndex(0).CascadeTo("cbxStates")) 

    @(Html.Telerik().ComboBoxFor(m=>m.State) 
     .Name("cbxStates") 
     .DataBinding(binding => binding.Ajax() 
     .Select("AjaxLoadStates","States"))) 

참고 그 경우에도 .SelectedIndex 1, 3, 1231231로 설정하면 값을 선택할 때까지 두 번째 콤보 상자가 계속 비활성화됩니다. 이 일을 할 수있는 방법이 있습니까?

답변

3

당신은 자바 스크립트의 client API하여이 작업을 수행 할 수 있습니다

<script type="text/javascript"> 
    function SelectFirstCountry() { 
     var cbxCountry = $("#cbxCountry").data('tComboBox') 
     var cbxStates = $("#cbxStates").data('tComboBox') 

     cbxCountry.select(1); 
     cbxStates.enable(); 
    } 

    $(document).ready(function() { 
     @{ 
      Html.Telerik().ScriptRegistrar().OnDocumentReady("SelectFirstCountry()"); 
     } 
    }); 
</script> 
+0

니스 접근, 나는 (그 전에, 나는 실제로 단지 내가 더 잘 생각하고 만들 수 있는지 확인하기 위해 telerik의 코드를 변경) 여기 cascadeTo을 abbandoned. 하지만 해결책은 매우 깨끗해 보입니다. 감사합니다. D – Tejo