2012-03-13 69 views
3

我有一個搜索頁面,並且想要添加一些過濾器,我的設置非常簡單,我有一個國家CombobBox和一個國家組合框。在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,123,1231,第二個組合框將保持禁用狀態,直到我選擇一個值。有什麼辦法可以做到這一點?

回答

3

您可以在JavaScript中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

尼斯的做法, 我這裏abbandoned的cascadeTo(在這之前,我確實改造了Telerik的代碼只是爲了看看我能想更好)。 但是你的解決方案看起來很乾淨,謝謝:D – Tejo 2012-04-10 13:21:10

相關問題