我有 Dijit.form.FilteringSelect 从下拉的 Web 服务内容动态加载。
我想预选第一个元素。我怎样才能做到这一点?
这取决于您的实施。
如果您首先加载数据,然后创建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/