Kendo UI 自动完成数据源问题
Posted
技术标签:
【中文标题】Kendo UI 自动完成数据源问题【英文标题】:Kendo UI Autocomplete Data Source issue 【发布时间】:2012-12-08 03:00:38 【问题描述】:我有几个自动完成所有设置和使用定义为变量的相同数据源工作。但是我不确定如何让我的组自动完成工作,因为这有可能具有多个值。
这是我的数据源:
UsersDataSource = new kendo.data.DataSource(
transport:
read:
url: "/_layouts/handlers/Users.ashx",
dataType: "json",
type: "get",
cache: false
);
这个 json 的示例如下所示(注意组):
["Id":"USERNAME","Type":"External","Name":"Jim Jones","Email":"jjones@email.com","Address":"1600 Penn Ave","Organization":"Company ABC","Notes":"User Notes","Groups":["Group A","Group B","Group C","Group D"]]
我设置的所有其他自动完成功能都可以使用此代码正常工作:
$("#SearchAddress").kendoAutoComplete(
placeholder: "Address",
dataTextField: "Address",
dataValueField: "Address",
dataSource: UsersDataSource
);
我不太确定如何让这些工作为小组工作...任何建议都将不胜感激。
编辑:我创建了一个jsfiddle 来说明这个问题
编辑:小提琴再次更新
【问题讨论】:
【参考方案1】:您应该指定第二个自动完成绑定到 peoples
数组的 Groups
字段:
$("#SearchGroup").kendoAutoComplete(
placeholder: "Group",
dataSource:
data: peoples[0].Groups,
);
http://jsfiddle.net/pSMtt/4/
获取所有组的方法如下:
var groups = [];
for (var i = 0; i < peoples.length; i++)
for (var j = 0; j < peoples[i].Groups.length; j++)
groups.push(peoples[i].Groups[j]);
$("#SearchGroup").kendoAutoComplete(
placeholder: "Group",
dataSource:
data: groups,
);
【讨论】:
我想我应该在小提琴中更具体。这种情况只适用于第一组组,如果每个人[0],人[1]有不同的组,则不适用......这是一个更新的小提琴......jsfiddle.net/nlarkin/mjD5H 您真正想要实现什么?您可能需要更新第二个自动完成数据源。使用第一个自动完成的change事件和第二个自动完成的数据源的data方法。 我想获取所有人的所有组的下拉列表,与任何其他字段没有关联。 然后您需要创建一个数组,其中包含所有人的所有组。以上是关于Kendo UI 自动完成数据源问题的主要内容,如果未能解决你的问题,请参考以下文章
Kendo UI Angular JS 和带有服务的 AutoComplete
在 kendo-ui 网格中显示/隐藏列后,有啥方法可以自动调整网格列宽?