1

我有 Dijit.form.FilteringSelect 从下拉的 Web 服务内容动态加载。

我想预选第一个元素。我怎样才能做到这一点?

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 上查看这两个示例: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上查看一个更复杂的示例(通过 sinon.js fakeServer模拟这样的 REST 服务):http: //jsfiddle.net/phusick/pGt5n/

于 2012-09-28T15:28:56.800 回答