我有以下代码。代码根据完成的选择填充列表框。但我的代码适用于IE 7&在IE 6上失败。
//----------------------------------------------------------------------------------------------
//fill the location list on the basis of Country
function FillLocationList()
{
var opt = document.createElement("OPTION");
var selected =document.getElementById('drpCountryName').selectedIndex;
var size = document.getElementById('drpCountryName').options.length;
if(!event.ctrlKey && !event.shiftKey)
{
document.getElementById('drpLocation').options.length = 0;
for(var i=0;i<locationArray.value.length;i++)
{
//if(document.getElementById('drpLocationReportsTo').value == locationArray.value[i].LocationRptId)
if(document.getElementById('drpCountryName').value == locationArray.value[i].CountryCode)
{
opt = document.createElement("OPTION");
opt.text = locationArray.value[i].LocationName;
opt.value=locationArray.value[i].LocationId;
document.getElementById("drpLocation").options.add(opt);
}
}
}
else if(event.ctrlKey || event.shiftKey)
{
document.getElementById('drpLocation').length = 0;
for(j=0;j<document.getElementById('drpCountryName').length;j++)
{
var currentLocation = document.getElementById('drpCountryName').options[j].value;
if(document.getElementById('drpCountryName').options[j].selected)
{
for(var i=0;i<locationArray.value.length;i++)
{
if(currentLocation == locationArray.value[i].CountryCode)
{
opt = document.createElement("OPTION");
opt.text = locationArray.value[i].LocationName;
opt.value=locationArray.value[i].LocationId;
document.getElementById("drpLocation").options.add(opt);
}
}
}
}
}
}
答案 0 :(得分:1)
该功能是在IE6下触发的吗?因为常见的问题是将函数附加到onclick
事件(在IE6下有问题)。
改为使用onchange
。
答案 1 :(得分:0)
如果你从IE6中的onclick中解雇它,试试这个,如果你还没有这样做的话。 IE6在onclick事件中触发javascript函数存在一些问题。
onclick =“FillLocationList(); event.returnValue = false; return false;”