Javascript Scriptaculous Builder未在FireFox中设置所选值
我正在尝试构建一个选择选项列表,并对其应用默认值。它似乎在Chrome中起作用,但在Firefox中不起作用。我的代码是:Javascript Scriptaculous Builder未在FireFox中设置所选值,javascript,prototypejs,scriptaculous,builder,Javascript,Prototypejs,Scriptaculous,Builder,我正在尝试构建一个选择选项列表,并对其应用默认值。它似乎在Chrome中起作用,但在Firefox中不起作用。我的代码是: var sel2 = Builder.node('select',{ name: 'type_' + tId, id: 'type_' + tId }); $A(templateTypes).each(function(t,idx){ var o = Builder.node('option',{value:dataID},DataName); sel2.a
var sel2 = Builder.node('select',{
name: 'type_' + tId,
id: 'type_' + tId
});
$A(templateTypes).each(function(t,idx){
var o = Builder.node('option',{value:dataID},DataName);
sel2.appendChild(o);
if (curID == dataID) {
$(sel2).selectedIndex = idx;
}
});
我试过这样的方法:
if (curID == dataID) {
var o = Builder.node('option',{value:dataID,selected:'selected'},DataName);
}
即使在Firebug中设置selected=selected,它也不适用于显示的内容。硬刷新似乎也解决不了这个问题
是否有人有一个可以跨所有浏览器工作的解决方案
谢谢 在选择框中添加新节点似乎会让Firefox感到困惑。这个怎么样
var sel2 = Builder.node('select',{
name: 'type_' + tId,
id: 'type_' + tId
});
// store the desired index in this
var selectedIndex = 0;
$A(templateTypes).each(function(t,idx){
var o = Builder.node('option',{value:dataID},DataName);
sel2.appendChild(o);
if (curID == dataID) {
selectedIndex = idx;
}
});
// now set the selected index _after_ we've added all the options:
sel2.selectedIndex = selectedIndex;
在我的简短测试中似乎有效