梅老大,各位高手GGJJ,菜鸟DDMM,都来看看俺写的级联菜单吧,在IE6下一切正常,可在IE5下就会使IE5死掉
我写了一个级联菜单,在IE6下一切正常,可在IE5下多选择几次就会使IE5死掉,下面是源程序,大家帮忙看看
<SCRIPT language="javascript">
function test()
{
//document.all.txtKindID.value = ""; //请空类别值
var src = event.srcElement;
if(src.selectedIndex==0) return; //如果选择 0 个,返回
var v = src.options[src.selectedIndex].value; //取当前选项的 value
if(!HaveSub(v)) //如果子项为空,则记录当前选项ID号
{
//document.all.txtKindID.value = v; //在这儿设置类别值
//alert(v);
var sub = src.SubSelect;
while(sub!=null)
{
sub.style.display = "none";
sub = sub.SubSelect;
}
}
else
{
var sub = src.SubSelect;
if(sub==null) //如果当前子项的Select为空,则创建
{
sub = document.createElement("select");
sub.attachEvent("onchange",test);//关联Select的事件
src.parentElement.appendChild(sub);
}
else
{
sub.style.display=""; //显示子项的Select
//sub.options.clear();
sub.options.innerHTML="";
}
//下面为子 Select 添加子项
var o = document.createElement("option");
o.value = "-1"; o.text = "请选择类别";
sub.options.add(o);
for(var i=0;i<kind.length;i++)
{
if(kind[i][1]==v)
{
o = document.createElement("option");
o.value = kind[i][0];
o.text = kind[i][2];
sub.options.add(o);
}
}
src.SubSelect = sub;//把新生成的 Select 赋值给触发事件的 Select
//
sub = sub.SubSelect;
while(sub!=null)
{
sub.style.display = 'none';
sub = sub.SubSelect;
}
}
}
function HaveSub(id)//判断当前类别是否有了类
{
for(var i=0;i<kind.length;i++)
if(kind[i][1] == id) return true;
return false;
}
</SCRIPT>
<script language=javascript>var kind = new Array([1,0,'故事动画'],[2,0,'宣传动画'],[3,0,'flash游戏'],[4,0,'互动教学'],[5,0,'FLASHMTV'],[6,0,'flash贺卡'],[7,0,'其他动画'],[15,1,'动画短片'],[16,1,'系列连载'],[17,2,'商业广告'],[18,2,'公益广告'],[19,2,'预告宣传'],[20,2,'网站广告'],[21,3,'益智解谜'],[22,3,'动作格斗'],[23,3,'动作过关'],[24,3,'射击飞行'],[25,3,'角色扮演'],[26,3,'体育赛车'],[27,3,'策略战棋'],[28,3,'模拟经营'],[29,3,'网络游戏'],[30,3,'其他类型'],[31,4,'课件'],[32,4,'互动演示'],[33,-1,'按音乐分类'],[34,-1,'按地域来分'],[35,-1,'按歌手类别来分'],[36,33,'流行音乐'],[37,33,'摇滚音乐'],[38,33,'R于B HIPHOP'],[39,33,'古典音乐'],[40,33,'其他音乐'],[41,5,'大陆'],[42,5,'港台'],[43,5,'日韩'],[44,5,'欧美'],[45,42,'男歌手'],[46,42,'女歌手'],[47,42,'乐队组合'],[48,42,'其他'],[49,6,'节日贺卡'],[50,6,'祝福贺卡'],[51,6,'情感贺卡'],[52,6,'休闲贺卡'],[53,49,'情人节'],[54,49,'愚人节'],[55,49,'儿童节'],[56,49,'母亲节'],[57,49,'父亲节'],[58,49,'教师节'],[59,49,'七夕情人节'],[60,49,'中秋节'],[61,49,'国庆节'],[62,49,'万圣节'],[63,49,'圣诞节'],[64,49,'元旦'],[65,49,'春节'],[66,49,'元宵节'],[67,50,'生日卡'],[68,50,'新婚卡'],[69,50,'问候卡'],[70,50,'康复卡'],[71,50,'祝贺卡'],[72,50,'鼓励卡'],[73,50,'毕业卡'],[74,50,'邀请卡'],[75,51,'爱情卡'],[76,51,'思念卡'],[77,51,'友请卡'],[78,51,'亲情卡'],[79,51,'道歉卡'],[80,51,'感谢卡'],[81,52,'趣味卡'],[82,52,'宠物卡'],[83,52,'星座卡'],[84,52,'生肖卡'],[89,47,'梦飞船'],[90,47,'面孔'],[93,47,'女朋友'],[94,47,'OnLine'],[95,46,'高慧君'],[96,45,'林隆旋'],[97,48,'爱上主题曲'],[99,48,'飞扬的青春'],[100,45,'李圣杰'],[102,46,'徐婕儿'],[103,48,'正东超星选'],[104,48,'麻辣鲜师'],[105,892,'火风'],[106,48,'2002世界杯'],[108,892,'黄磊'],[109,45,'童安格'],[110,892,'黄格选'],[111,892,'含笑'],[112,892,'韩磊'],[114,892,'韩晓'],[116,892,'耿宁']);</script>
<select name="ddlKind" id="ddlKind" class="button1" onchange="test()">
<option value="-1">请选择类别</option>
<option value="1">故事动画</option>
<option value="2">宣传动画</option>
<option value="3">flash游戏</option>
<option value="4">互动教学</option>
<option value="5">FLASHMTV</option>
<option value="6">flash贺卡</option>
<option value="7">其他动画</option>
</select>