【问题标题】:Kendo UI Autocomplete Data Source issueKendo UI 自动完成数据源问题
【发布时间】: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 来说明这个问题

编辑:小提琴再次更新

【问题讨论】:

    标签: jquery json autocomplete kendo-ui


    【解决方案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方法。
    • 我想获取所有人的所有组的下拉列表,与任何其他字段没有关联。
    • 然后您需要创建一个数组,其中包含所有人的所有组。
    猜你喜欢
    • 1970-01-01
    • 2019-03-09
    • 2012-11-16
    • 2013-11-25
    • 1970-01-01
    • 2011-09-06
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多