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

2 番目のオートコンプリートが配列の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 に答える