ComboBox没有删除项目列表

时间:2013-03-07 04:16:54

标签: combobox telerik kendo-ui kendo-combobox

我在我的应用程序中使用了一个Kendo ComboBox,并按如下方式定义了控件的标记:

@(Html.Kendo().ComboBox().Name("GroupUserName")
    .Placeholder("- Select Group -")
    .Suggest(true)
    .BindTo(
        (Model.Groups ?? new[] { Model.Group })
            .Select(i => new { i.GroupName, i.GroupUserName })
    )
    .DataTextField("GroupName")
    .DataValueField("GroupUserName"))

我知道BindTo方法中有2条记录被绑定,并且这些记录被传递给客户端组件。

jQuery(
  function(){
    jQuery("#GroupUserName").kendoComboBox({"dataSource":   
       [{"GroupName":"membershipgroup01","GroupUserName":"membershipgroup01"},
       {"GroupName":"publicgroup01","GroupUserName":"publicgroup01"}]
       ,"dataTextField":"GroupName","dataValueField":"GroupUserName",
       "placeholder":"- Select Group -","suggest":true
     });
});

然而,当我击中下拉时,组合框没有任何显示。没有下拉菜单允许我选择一个值。看到这张图片:

ComboBox not showing drop down

单击下拉选择器时,不会显示下拉列表。为什么呢?

我正在使用JQuery 1.8.2,以及kendo.all和kendo.aspnetmvc脚本......

2 个答案:

答案 0 :(得分:0)

您绑定到没有字段名称的匿名类型。 Kendo没有任何东西可以抓取,因为你告诉它绑定的对象没有名为GroupNameGroupUserName的字段。

从它看起来,你根本不需要绑定到匿名类型。所以这个:

.BindTo(
    (Model.Groups ?? new[] { Model.Group })
            .Select(i => new { i.GroupName, i.GroupUserName })
)

应该是:

.BindTo(
    (Model.Groups ?? new[] { Model.Group })
)

如果由于某种原因你需要绑定到匿名类型,你可以给字段指定适当的名称:

.BindTo(
    (Model.Groups ?? new[] { Model.Group })
            .Select(i => new { GroupName = i.GroupName, GroupUserName = i.GroupUserName })
)

答案 1 :(得分:0)

For me this was a conflict between JQuery UI and Kendo UI. When I removed references to JQuery UI, it worked.