2

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

这是我的数据源:

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来说明这个问题

编辑:小提琴再次更新

4

1 回答 1

1

您应该指定第二个自动完成绑定到数组的Groups字段:peoples

$("#SearchGroup").kendoAutoComplete({
    placeholder: "Group",
    dataSource: {
        data: peoples[0].Groups,
    }
});

http://jsfiddle.net/pSMtt/4/ ​</p>

以下是获取所有组的方法:

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,
    }
});
于 2012-12-20T19:11:00.717 回答