我有以下代码。该代码基于完成的选择填充列表框。但我的代码在IE 7 &失败对IE 6单击问题在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);
}
}
}
}
}
}
它究竟在哪里失败? – 2010-01-12 12:32:49
适用于IE6的我,请完整的测试用例。但是请注意,'options.add'是一种非标准的方法,不能在IE之外工作(而不是使用'options [options.length] = opt'),并且全局'event'的使用仅限于IE并且在任何情况下可能都不宜)。 – bobince 2010-01-12 13:48:45