在dojo中创建选择选项
dojo.byId("it1").add(dojo.create("option", { value:'1',innerHTML:'Iteration 1' }));
我在IE8中遇到了一个无效的参数错误,其余浏览器工作正常。
答案 0 :(得分:1)
这是因为浏览器实现了一种故障转移机制。或者甚至标准已经改变,不确定它是什么。
事实仍然是,在旧版浏览器中,option
元素的实现很奇怪。考虑以下以编程方式创建新的option
DOM:
text='Iteration 1';
value=1;
defaultSelected = false;
selected=false;
document.getElementById('myselect').options.add(
new Option(text, value, defaultSelected ,selected)
);
请参阅http://msdn.microsoft.com/en-us/library/ie/dd757810(v=vs.85).aspx
API也有参数,表明是否选择了选项。但这里有趣的部分是参数text
大致转化为
var opt = document.createElement('OPTION');
opt.text = text;
opt.value = value;
您会发现,以编程方式创建的选择(使用innerHTML
方法)在IE之前和之后的IE中都无法正常工作。该元素根本没有连接到其父表单,因此,在提交时不会发送到服务器。