2012-12-20 44 views
2

我有几个自动完成所有设置和工作使用相同的数据源定义为一个变量。但是我不确定如何让我的组自动完成工作,因为这有可能具有多个值。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":"[email protected]","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 
}); 

我真的不知道如何使这项工作的团体......任何意见将是应用程序reciated。

编辑:我创建了一个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

我想我应该一直在拨弄更具体。这种情况只适用于第一组小组,而不是如果每个人[0],人群[1]有不同的群体...这里是一个更新的小提琴... http://jsfiddle.net/nlarkin/mjD5H/ – BlueBird

+0

你真的想实现什么?您可能需要更新第二个自动填充数据源。使用第一个自动完成的更改事件和第二个自动完成的数据源的数据方法。 –

+0

我想得到所有人的所有组的下拉列表,与任何其他字段没有关联。 – BlueBird