【问题标题】:Kendo UI Dropdown List default value from data数据中的 Kendo UI 下拉列表默认值
【发布时间】:2016-11-02 00:30:20
【问题描述】:

我正在尝试根据读取后的数据源返回来设置 Value 或 SelectedIndex。

这是我的观点

@(Html.Kendo().DropDownList. Name("ddlUsers"). DataTextField("text"). HtmlAttributes(New With {.style = "width:500px"}). DataValueField("id"). DataSource(Sub(s) s.Read(Sub(r) r.Action("GetUserList", "Employees") End Sub). ServerFiltering(True) End Sub).Events(Sub(e) e.Change("SetHiddenUGID")) )

GetUserList 方法如下所示

Shared Function GetUserList() As IList Return db.GetDBUserList().Where(Function(w) w.value <> 0).Select(Function(s) New With {.id = s.value,.text = s.text,.isdefault = s.isdefault}).ToList() End Function

现在 GetDBUserList 返回一个员工列表

Public Class Employees Public Property value As Int64 Public Property text As String Public Property isdefault As Int32 End Class

我想在isdefault为1时设置下拉菜单的默认值,有什么想法吗?

我试过了

var dropdownlist = $("#ddlUsers").data("kendoDropDownList");

dropdownlist.select(function (dataItem) { if (dataItem.isdefault === 1) { $("#ddlUsers").data("kendoDropDownList").value(dataItem.id); } });

但它不起作用。

【问题讨论】:

  • 你的视图有模型吗? (即顶部的@model MyModel)

标签: asp.net vb.net kendo-asp.net-mvc kendo-dropdown


【解决方案1】:

您的 DropDownList 已绑定到远程数据,因此您不能尝试设置值,直到 您的读取操作与数据一起返回。

因此,您必须添加代码以选择 DropDownList 的 dataBound 事件中的默认项,因为在此之前没有数据可供选择。

但是,您的函数正在尝试将值设置为 dataItem.id...您的模型没有 id 字段...它具有 value、text 和 isdefault。

此外,DropDownList select() 方法采用 jQuery 选择器、索引或返回布尔值 (http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#methods-select) 的函数。您的函数不返回任何内容...因此不会导致任何内容被选中。

尝试在 DropDownList 的 dataBound 事件中执行此操作:

dataBound: function(e) {
    var data = e.sender.dataSource.data();

    e.sender.select(function (dataItem) {
        return (dataItem.isdefault === 1);
    });
}

这是一个工作示例:http://dojo.telerik.com/@Stephen/inUKI 它使用 javascript 初始化,但您可以轻松地将 dataBound 事件处理程序添加到 Razor 初始化中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-15
    • 2014-10-27
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多