您好Dojo開發人員,我有一個下拉form.select,它有幾個選項,如何設置一個選項來選擇。假設我想在select元素中顯示第三個選項。我正在查看dojo文檔,但沒有看到setSelected()或類似文檔。如何設置在Dojo中選擇form.select選項
由於
您好Dojo開發人員,我有一個下拉form.select,它有幾個選項,如何設置一個選項來選擇。假設我想在select元素中顯示第三個選項。我正在查看dojo文檔,但沒有看到setSelected()或類似文檔。如何設置在Dojo中選擇form.select選項
由於
除了value之外,還需要使用displayedValue屬性來設置顯示的選項。使用類似於:
selector.set(「displayedValue」,「the_text_of_the_option」);
,或者您可以通過使用搜索您的下降的底層存儲下來:
selectorStore.fetch({query:{id: value}, onComplete: function (items) {
dojo.forEach(items, function(item){
selector.set("displayedValue", "the_text_of_the_option");
selector.set("value", "the_value_of_the_option");
});
}});
希望有所幫助。
謝謝,這是真實的,正在工作,並把我放在正確的道路上。我已經測試過它。但是,我發現了我的錯誤並實施了不同的解下面: – setlio
謝謝,這是真實的和工作。我已經測試過它。然而,我發現了我的錯誤:我正在動態地創建選項,並且當我將它添加到選擇器時,將它設置爲.selected = true時,它將更改爲選定的第一個選項。 或者如果我申請selector.set("displayedValue", "the_text_of_the_option");
它在視覺上顯示選定的一個,但實際上在選定的背後仍然是第一個不測量如果我用上面的selector.set改變它。所以我通過手動創建選定的狀態來解決它。這種方式,當我添加它的字母id停留在所需的一個,並相應地改變它。
這裏剪斷:
//populate latitude selector
match = false;
optionsArr = [];
for(var i = 0; i < namesLength; i++){
for(var j = 0, len2 = latNames.length; j < len2; j++){
if(fieldNames[i].toLowerCase() == latNames[j]){
for (var a = 0; a < namesLength; a++) {
var option = {};
option.label = fieldNames[i];
option.value = i+"";
if(i==a){
option.selected = true;
}
optionsArr.push(option);
}
match = true;
}
}
}
if(match){
var drop1 = dijit.byId("selectLatitude");
drop1.addOption(optionsArr);
}else{
var drop1 = dijit.byId("selectLatitude");
drop1.addOption(options);//options is an array of options created originally
}
嘗試'selectWidget.set( '值',your_option_value)'內部 – Serjio
感謝serjio,它是ATTR,但你給我正確的方向,在這裏找到答案:HTTP:/ /stackoverflow.com/questions/2215979/setting-the-value-selected-option-of-a-dijit-form-select-widget – setlio
這並不重要。主要是它對你有幫助,喜歡;) – Serjio