1

ドロップダウンのWebサービスコンテンツから動的にロードするDijit.form.FilteringSelectがあります。

最初の要素を事前に選択したい。これどうやってするの?

4

1 に答える 1

2

実装によって異なります。

最初にデータをロードしてから、dojo/store/Memoryどのフィードを作成するdijit/form/FilteringSelect場合:

// sync only for dojo/store/Memory
var store = filteringSelect1.store;
filteringSelect1.set("value", store.getIdentity(store.data[0]));

より堅牢な同期または非同期の方法は、ストアにクエリを実行することです。

when(store.query(function(item, index, items) {
    return index == 0;
}), function(results) {
    filteringSelect2.set("value", store.getIdentity(results[0]));
});

jsFiddle で実際に動作しているこれら 2 つの例を参照してください: http://jsfiddle.net/phusick/DaA3a/

filteringSelectが によってバックアップされている場合dojo/store/JsonRest、REST サービスはindex( によるクエリに加えてid)によるクエリをサポートする必要があります。

restStore.query({ index: 0 }).then(function(item) {
    filteringSelect1.set("value", restStore.getIdentity(item));  
});

jsFiddle: http://jsfiddle.net/phusick/pGt5n/で、もう少し複雑な例 ( sinon.js fakeServerを介してそのような REST サービスをシミュレートする) を参照してください。

于 2012-09-28T15:28:56.800 に答える