以编程方式默认Kendo UI DropDownListFor()到.OptionLabel选择

时间:2013-10-08 02:17:52

标签: jquery kendo-ui kendo-asp.net-mvc

如果我们有两个Kendo UI DropDownListFor绑定到从Controller传递的MVC ViewModel中的数据,如果用户在其中一个下拉菜单中进行选择,我们如何将另一个默认为.OptionLabel("选择? / p>

    @(Html.Kendo().DropDownListFor(m => m.Cat)
    .Name("CatsDropDownList")
    .BindTo(Model.Cats)
    .OptionLabel("- Cats -")
    .Events(e => e.Change("CatsDropdownChangeHandler"))
)

@(Html.Kendo().DropDownListFor(m => m.Dog)
    .Name("DogsDropDownList")
    .BindTo(Model.Dogs)
    .OptionLabel("- Dogs -")
    .Events(e => e.Change("DogsDropdownChangeHandler"))
)

function CatsDropdownChangeHandler() {
    //do something
}

function DogsDropdownChangeHandler() {
    //do something
}

2 个答案:

答案 0 :(得分:2)

请尝试使用以下代码段。

<script type="text/javascript">
    function CatsDropdownChangeHandler() {
        //do something
        $("#DogsDropDownList").data("kendoDropDownList").value(null);
    }

    function DogsDropdownChangeHandler() {
        //do something
        $("#CatsDropDownList").data("kendoDropDownList").value(null);
    }

</script>

答案 1 :(得分:1)

没有特定的API函数来设置OptionLabel,您只需选择索引0(Optionlabel值)为:

@section scripts{
    <script>

        function CatsDropdownChangeHandler(e) {

            var dropdownlist = $("#DogsDropDownList").data("kendoDropDownList");            
            dropdownlist.select(0);        
        }

        function DogsDropdownChangeHandler(e) {
            var dropdownlist = $("#CatsDropDownList").data("kendoDropDownList");
            dropdownlist.select(0);
        }        
    </script>

    }

或者,您可以set text下拉列表。如果你喜欢ajax绑定:),你可以依次refresh下拉列表。