Javascript Dojo窗体。选择未正确设置值
我的dijit.formSelect有问题,无法设置所选选项。我正在动态创建包含所有选项的数组,如果满足条件,则将“selected”字段设置为true。这部分很好,当检查创建的阵列时,它与预期的一样。当我执行select.addOption时,问题出现了。在这种情况下,它从原始元素中删除selected=true并设置数组的第一个元素,这是错误的 这是我的密码:Javascript Dojo窗体。选择未正确设置值,javascript,dojo,Javascript,Dojo,我的dijit.formSelect有问题,无法设置所选选项。我正在动态创建包含所有选项的数组,如果满足条件,则将“selected”字段设置为true。这部分很好,当检查创建的阵列时,它与预期的一样。当我执行select.addOption时,问题出现了。在这种情况下,它从原始元素中删除selected=true并设置数组的第一个元素,这是错误的 这是我的密码: var select = dijit.byId("nameOfThe form.Select"); var arrayOptions
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);
var select=dijit.byId(“form.select的名称”);
var arrayOptions=[];
//数据是另一个包含更多信息的数组
对于(变量i=0;i
我正在关注教程和几个论坛,并尝试了他们所说的内容,如:
- select.set(“值”、“所需值”);//一串
- 选择。设置(“值”,需要的值);//作为一个数字
- select.value=“所需价值”李>
- select.setDisplayedValue(需要的值)
什么都不管用,我快疯了。我做错了什么?谢谢在将选项添加到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;
var select=dijit.byId(“form.select的名称”);
var arrayOptions=[];
var selectedIndex=0;
//数据是另一个包含更多信息的数组
对于(变量i=0;i
Hm。唯一的其他选择是在for循环中添加每个选项,并在最后设置selectedIndex。如果这不起作用,页面上是否有其他代码在修改选择框后更改它?这也不起作用,在我的代码中,没有这种意义上的干扰。实际上,在调试代码时,它会在执行select.addOption时将selected=true添加到第一个元素,而不管我在循环的末尾或内部使用它一次。我将尝试自行调试组件。您可能需要深入研究好的DOM方法:document.createElement(“选项”)和select.appendChild(…)。