如何重置DropDownList索引

时间:2013-09-13 16:56:49

标签: c# jquery asp.net-mvc razor kendo-ui

我正在使用vs' 12,C#asp.net MVC-4 - 互联网模板,使用KendoUI EF Code First

逻辑+ 问题:我有第一个和第二个DropDownLists(级联的)。这么多(2个)将级联掉一个(主要)DropDownList。我的目标是,通过脚本或kendo事件在主选择的索引更改时,将所有其他kendo DDL更改回索引(0) 级联和启用以及所有这些工作正常,当我切换到另一个控件,他们都清空,但如果我要切换回来,他们保留那里的价值观。这对我的应用来说并不理想

需要知道

  • 主要剑道控制

    @(Html.Kendo().DropDownListFor(m => m.Tracts)
        .Name("Tracts")
        .HtmlAttributes(new { style = "width:300px" }) //, id = "clients"})
        .OptionLabel("Select Tract...")
        .DataTextField("TractName")
        .DataValueField("TractID")
        .DataSource(source =>
        {
            source.Read(read =>
            {
                read.Action("GetCascadeTracts", "ImageView");
            });
        })
    
  • 第二代剑道控制

    @(Html.Kendo().DropDownListFor(m => m.LeaseholdA)
          .Name("LeaseholdA")
          .HtmlAttributes(new { style = "width:300px" })
          .OptionLabel("Select LeaseholdA...")
          .DataTextField("LeaseholdA")
          .DataValueField("LeaseholdAID")
          .DataSource(source =>
                  {
           source.Read(read =>
                   {
                     read.Action("GetLeaseholdA", "ImageView")
                     .Data("filterFromTracts");
                   })
                  .ServerFiltering(true);
           })
                .Enable(false)
                .AutoBind(false)
                .CascadeFrom("Tracts")
    )
    

尝试

  • 1 + 2 刚尝试了2个镶边部分

    function TractSelect(e) {
    
        var dropdownlist = $("#LeaseholdA").data("kendoDropDownList");
        //dropdownlist.SelectedIndex(0)
        dropdownlist.enable(false);
    
    };
    
  • selectedindex(0)尝试做了它应该关闭的(更改事件)选择甚至声称selectedIndex不存在

  • enable工作但当我换回时,他们记得他们在哪里。所以这是无效的

3 个答案:

答案 0 :(得分:3)

尝试使用DropDownList(kendo)的.value属性

var dropdownlist = $("#LeaseholdA").data("kendoDropDownList");
dropdownlist.value(0);

这两行效果很好

希望这有帮助

答案 1 :(得分:0)

dropdownlist变量在这里有一个jquery包装元素

尝试在同一个地方使用以下代码

function TractSelect(e) {

    var dropdownlist = $("#LeaseholdA").data("kendoDropDownList");
    dropdownlist[0].selectedIndex = 0; //Code you need to change
    dropdownlist.enable(false);

};

这将确保你有一个html元素,如简单的简单javascript和YES SelectedIndex绝对不是一个函数,而是HTML元素的属性

答案 2 :(得分:0)

我相信您应该能够使用以下内容将索引设置为0:

$("#LeaseholdA").val(0);

这应该将元素的下拉列表设置为0,从而设置索引。

或者您可以使用

$("#LeaseholdA").prop('selectedIndex', 0);