我有Dijit.form.FilteringSelect從下拉的web服務內容動態加載。如何預先選擇Dijit.form.FilteringSelect中的第一個元素?
我想預選第一個元素。我怎樣才能做到這一點?
我有Dijit.form.FilteringSelect從下拉的web服務內容動態加載。如何預先選擇Dijit.form.FilteringSelect中的第一個元素?
我想預選第一個元素。我怎樣才能做到這一點?
這取決於您的實施。
如果你第一次加載數據,然後創建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/
對我來說,set('value',...)不起作用。我做的是:set('item',item) – Jerome2606
您是以聲明方式還是以編程方式創建篩選? – BuffaloBuffalo
我創建了過濾選擇以編程方式 – Hlib