我的dijit.formSelect有问题,我无法设置所选的选项。我正在动态创建包含所有选项的数组,并在满足条件时将“selected”字段设置为true。这部分很好,在检查创建的数组时,它是预期的。当我执行select.addOption时出现问题。在这种情况下,它从原始元素中删除selected = true并设置数组的第一个元素,这是错误的。
这是我的代码:
var select = dijit.byId("nameOfThe form.Select");
var arrayOptions = [];
//Data is another array with more information
for(var i = 0; i < data.length; i++) {
newOption = {
value: data[i][ident],
label: data[i][label]
};
if(exist(currentValue[0]) && currentValue[0] == data[i][ident]) {
newOption.selected = true;
}
arrayOptions.push(newOption);
}
select.addOption(arrayOptions);
我正在关注教程和几个论坛,我尝试了他们所说的内容,例如:
没有任何作用,它让我发疯。我究竟做错了什么?感谢
答案 0 :(得分:0)
将OPTION添加到SELECT后,您可能必须设置selectedIndex
属性:
var select = dijit.byId("nameOfThe form.Select");
var arrayOptions = [];
var selectedIndex = 0;
//Data is another array with more information
for(var i = 0; i < data.length; i++) {
newOption = {
value: data[i][ident],
label: data[i][label]
};
if(exist(currentValue[0]) && currentValue[0] == data[i][ident]) {
selectedIndex = i;
}
arrayOptions.push(newOption);
}
select.addOption(arrayOptions);
select.selectedIndex = selectedIndex;