Каскадный Combobox со значениями по умолчанию на Telerik MVC - PullRequest
3 голосов
/ 13 марта 2012

У меня есть страница поиска и я хочу добавить к ней несколько фильтров, мои настройки довольно просты, у меня есть CombobBox для стран и 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, второй комбинированный список остается отключенным, пока я не выберу значение. Есть ли способ заставить эту работу?

1 Ответ

3 голосов
/ 08 апреля 2012

Вы можете сделать это с помощью клиентского API в javascript:

<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>
...