Kendo UI自动完成数据源问题

时间:2012-12-20 14:51:20

标签: jquery json autocomplete kendo-ui

我有几个自动完成所有设置和工作使用定义为变量的相同数据源。但是我不确定如何使我的组自动完成工作,因为这可能有多个值。

这是我的数据源:

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 个答案:

答案 0 :(得分:1)

您应指定第二个自动填充绑定到Groups数组的peoples字段:

$("#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,
    }
});