我正在尝试构建一个选择选项列表并对其应用默认值。它似乎适用于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.appendChild(o);
if (curID == dataID) {
$(sel2).selectedIndex = idx;
}
});
我尝试过这样的事情:
if (curID == dataID) {
var o = Builder.node('option',{value:dataID,selected:'selected'},DataName);
}
即使在Firebug中设置selected =“selected”,它也不适用于显示的内容。硬刷新似乎也没有解决它。
某人是否有适用于所有浏览器的解决方案?
感谢。
答案 0 :(得分:0)
似乎在选择框中添加一个新节点会混淆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;
似乎在我的简短测试中工作。