求一个联动2级菜单 你说的是select吗参考一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是select cloudgamer大侠 看你代码有比较累 你都从来不写简单的东西。。 。我对json不熟悉 想先从简单的结构学习下 网上关于Json的说明太类似了。 如果只是使用的话应该不会太难吧而且这个程序本身也不难吧就是select的操作而已 哦那你可以直接找json的资料看啊 <body><div id="ss"></div></body><script> var menu = [ {"menu1":"人族","menu2":[ {"menu1":"大法师"}, {"menu1":"山丘之王"}, {"menu1":"圣骑士"}, {"menu1":"血法师"} ]}, {"menu1":"兽族","menu2":[ {"menu1":"贱圣"}, {"menu1":"先知男"}, {"menu1":"牛头人酋长"}, {"menu1":"小YY"} ]}, {"menu1":"不死族","menu2":[ {"menu1":"死亡骑士"}, {"menu1":"巫妖"}, {"menu1":"恐惧魔王"}, {"menu1":"小强王子"} ]}, {"menu1":"精灵族","menu2":[ {"menu1":"恶魔猎手"}, {"menu1":"丛林守护者"}, {"menu1":"守望者"}, {"menu1":"老虎女祭祀"} ]} ] for(var i=0;i<2;i++) { var sele =document.createElement("select") document.getElementById("ss").appendChild(sele) } for(var j=0;j<menu.length;j++) {document.getElementById("ss").getElementsByTagName("select")[0].options.add(new Option(menu[j].menu1,j)) document.getElementById("ss").getElementsByTagName("select")[0].onchange=function(){change(this.selectedIndex)} } for(var j=0;j<menu[0].menu2.length;j++) {document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[0].menu2[j].menu1,j))} function change(num){document.getElementById("ss").getElementsByTagName("select")[1].length=0for(var i=0;i<menu[num].menu2.length;i++){document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[num].menu2[i].menu1,i))}}</script>一直以为学会Json的构造了就可以写无限联动菜单,却也是那么的不容易。 <body><div id="ss"></div></body><script> var menu = [ {"menu1":"人族","menu2":[ {"menu1":"大法师","menu2":[ {"menu1":"水元素"}, {"menu1":"暴风雪"}, {"menu1":"辉煌光环"}, {"menu1":"瞬间移动"} ]}, {"menu1":"山丘之王","menu2":[ {"menu1":"风暴之锤"}, {"menu1":"锥地"}, {"menu1":"锥晕"}, {"menu1":"天神下凡"} ]}, {"menu1":"圣骑士","menu2":[ {"menu1":"光"}, {"menu1":"无敌"}, {"menu1":"光环"}, {"menu1":"复活"} ]}, {"menu1":"血法师","menu2":[ {"menu1":"火焰"}, {"menu1":"吸蓝"}, {"menu1":"虚无"}, {"menu1":"神鸟凤凰"} ]} ]}, {"menu1":"兽族","menu2":[ {"menu1":"贱圣","menu2":[ {"menu1":"疾风步"}, {"menu1":"影分身"}, {"menu1":"致命一击"}, {"menu1":"剑刃风暴"} ]}, {"menu1":"先知男","menu2":[ {"menu1":"狼"}, {"menu1":"日"}, {"menu1":"闪电链"}, {"menu1":"地震"} ]}, {"menu1":"牛头人酋长","menu2":[ {"menu1":"冲击波"}, {"menu1":"阵地"}, {"menu1":"耐久光环"}, {"menu1":"复活"} ]}, {"menu1":"小YY","menu2":[ {"menu1":"变动物"}, {"menu1":"治疗波"}, {"menu1":"小蛇棒子"}, {"menu1":"全体无敌"} ]} ]}, {"menu1":"不死族","menu2":[ {"menu1":"死亡骑士","menu2":[ {"menu1":"大便"}, {"menu1":"光环"}, {"menu1":"吃人"}, {"menu1":"复尸体"} ]}, {"menu1":"巫妖","menu2":[ {"menu1":"暴冰"}, {"menu1":"冰甲"}, {"menu1":"吃人"}, {"menu1":"死亡凋零"} ]}, {"menu1":"恐惧魔王","menu2":[ {"menu1":"蝙蝠"}, {"menu1":"睡觉"}, {"menu1":"吸血光环"}, {"menu1":"黄色石头人"} ]}, {"menu1":"小强王子","menu2":[ {"menu1":"小小强"}, {"menu1":"倒刺"}, {"menu1":"身上长倒刺"}, {"menu1":"很多小小强"} ]} ]} ] for(var i=0;i<3;i++) { var sele =document.createElement("select") document.getElementById("ss").appendChild(sele) } for(var j=0;j<menu.length;j++) {document.getElementById("ss").getElementsByTagName("select")[0].options.add(new Option(menu[j].menu1,j)) document.getElementById("ss").getElementsByTagName("select")[0].onchange=function(){change(this.selectedIndex)} } for(var j=0;j<menu[0].menu2.length;j++) {document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[0].menu2[j].menu1,j)) document.getElementById("ss").getElementsByTagName("select")[1].onchange=function(){xchange(this.selectedIndex)} } for(var j=0;j<menu[0].menu2[0].menu2.length;j++) {document.getElementById("ss").getElementsByTagName("select")[2].options.add(new Option(menu[0].menu2[0].menu2[j].menu1,j))} function change(num){document.getElementById("ss").getElementsByTagName("select")[1].length=0document.getElementById("ss").getElementsByTagName("select")[2].length=0for(var i=0;i<menu[num].menu2.length;i++){document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[num].menu2[i].menu1,i))}for(var i=0;i<menu[num].menu2[0].menu2.length;i++){document.getElementById("ss").getElementsByTagName("select")[2].options.add(new Option(menu[num].menu2[0].menu2[i].menu1,i))}}function xchange(num){document.getElementById("ss").getElementsByTagName("select")[2].length=0var num0= document.getElementById("ss").getElementsByTagName("select")[0].selectedIndexfor(var i=0;i<menu[num0].menu2[num].menu2.length;i++){document.getElementById("ss").getElementsByTagName("select")[2].options.add(new Option(menu[num0].menu2[num].menu2[i].menu1,i))}}</script>看来人又菜了点 写个3级连动很花了点时间 通过js锁定table表头,垂直滑动时表头固定, 50分 一段javascript代码看不懂 javascript中一个字符占几个字节? 求一个正则 js怎么判断div下的内容全部加载完毕 ★★★★★★ 。。 高分求解难倒无数高手的问题 。。 ★★★★★★ 如何获得图片离页面左边和顶部的距离,能给完整的例子吗? 以为自己弄懂了传值与传址,结果似乎不是这样的... js中如何调用局部变量 JS判断元素区间 文本框获取焦点事件! js 点击图片 实现功能
cloudgamer大侠 看你代码有比较累 你都从来不写简单的东西。。
我对json不熟悉 想先从简单的结构学习下 网上关于Json的说明太类似了。
如果只是使用的话应该不会太难吧
而且这个程序本身也不难吧就是select的操作而已
那你可以直接找json的资料看啊
<div id="ss"></div>
</body>
<script>
var menu = [
{"menu1":"人族","menu2":[
{"menu1":"大法师"},
{"menu1":"山丘之王"},
{"menu1":"圣骑士"},
{"menu1":"血法师"}
]},
{"menu1":"兽族","menu2":[
{"menu1":"贱圣"},
{"menu1":"先知男"},
{"menu1":"牛头人酋长"},
{"menu1":"小YY"}
]},
{"menu1":"不死族","menu2":[
{"menu1":"死亡骑士"},
{"menu1":"巫妖"},
{"menu1":"恐惧魔王"},
{"menu1":"小强王子"}
]},
{"menu1":"精灵族","menu2":[
{"menu1":"恶魔猎手"},
{"menu1":"丛林守护者"},
{"menu1":"守望者"},
{"menu1":"老虎女祭祀"}
]}
] for(var i=0;i<2;i++)
{
var sele =document.createElement("select")
document.getElementById("ss").appendChild(sele)
}
for(var j=0;j<menu.length;j++)
{document.getElementById("ss").getElementsByTagName("select")[0].options.add(new Option(menu[j].menu1,j))
document.getElementById("ss").getElementsByTagName("select")[0].onchange=function(){change(this.selectedIndex)}
}
for(var j=0;j<menu[0].menu2.length;j++)
{document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[0].menu2[j].menu1,j))}
function change(num){
document.getElementById("ss").getElementsByTagName("select")[1].length=0
for(var i=0;i<menu[num].menu2.length;i++)
{document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[num].menu2[i].menu1,i))}
}
</script>
一直以为学会Json的构造了就可以写无限联动菜单,却也是那么的不容易。
<div id="ss"></div>
</body>
<script>
var menu = [
{"menu1":"人族","menu2":[
{"menu1":"大法师","menu2":[
{"menu1":"水元素"},
{"menu1":"暴风雪"},
{"menu1":"辉煌光环"},
{"menu1":"瞬间移动"}
]},
{"menu1":"山丘之王","menu2":[
{"menu1":"风暴之锤"},
{"menu1":"锥地"},
{"menu1":"锥晕"},
{"menu1":"天神下凡"}
]},
{"menu1":"圣骑士","menu2":[
{"menu1":"光"},
{"menu1":"无敌"},
{"menu1":"光环"},
{"menu1":"复活"}
]},
{"menu1":"血法师","menu2":[
{"menu1":"火焰"},
{"menu1":"吸蓝"},
{"menu1":"虚无"},
{"menu1":"神鸟凤凰"}
]}
]},
{"menu1":"兽族","menu2":[
{"menu1":"贱圣","menu2":[
{"menu1":"疾风步"},
{"menu1":"影分身"},
{"menu1":"致命一击"},
{"menu1":"剑刃风暴"}
]},
{"menu1":"先知男","menu2":[
{"menu1":"狼"},
{"menu1":"日"},
{"menu1":"闪电链"},
{"menu1":"地震"}
]},
{"menu1":"牛头人酋长","menu2":[
{"menu1":"冲击波"},
{"menu1":"阵地"},
{"menu1":"耐久光环"},
{"menu1":"复活"}
]},
{"menu1":"小YY","menu2":[
{"menu1":"变动物"},
{"menu1":"治疗波"},
{"menu1":"小蛇棒子"},
{"menu1":"全体无敌"}
]}
]},
{"menu1":"不死族","menu2":[
{"menu1":"死亡骑士","menu2":[
{"menu1":"大便"},
{"menu1":"光环"},
{"menu1":"吃人"},
{"menu1":"复尸体"}
]},
{"menu1":"巫妖","menu2":[
{"menu1":"暴冰"},
{"menu1":"冰甲"},
{"menu1":"吃人"},
{"menu1":"死亡凋零"}
]},
{"menu1":"恐惧魔王","menu2":[
{"menu1":"蝙蝠"},
{"menu1":"睡觉"},
{"menu1":"吸血光环"},
{"menu1":"黄色石头人"}
]},
{"menu1":"小强王子","menu2":[
{"menu1":"小小强"},
{"menu1":"倒刺"},
{"menu1":"身上长倒刺"},
{"menu1":"很多小小强"}
]}
]}
]
for(var i=0;i<3;i++)
{
var sele =document.createElement("select")
document.getElementById("ss").appendChild(sele)
}
for(var j=0;j<menu.length;j++)
{document.getElementById("ss").getElementsByTagName("select")[0].options.add(new Option(menu[j].menu1,j))
document.getElementById("ss").getElementsByTagName("select")[0].onchange=function(){change(this.selectedIndex)}
}
for(var j=0;j<menu[0].menu2.length;j++)
{document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[0].menu2[j].menu1,j))
document.getElementById("ss").getElementsByTagName("select")[1].onchange=function(){xchange(this.selectedIndex)}
}
for(var j=0;j<menu[0].menu2[0].menu2.length;j++)
{document.getElementById("ss").getElementsByTagName("select")[2].options.add(new Option(menu[0].menu2[0].menu2[j].menu1,j))}
function change(num){
document.getElementById("ss").getElementsByTagName("select")[1].length=0
document.getElementById("ss").getElementsByTagName("select")[2].length=0
for(var i=0;i<menu[num].menu2.length;i++)
{document.getElementById("ss").getElementsByTagName("select")[1].options.add(new Option(menu[num].menu2[i].menu1,i))}
for(var i=0;i<menu[num].menu2[0].menu2.length;i++)
{document.getElementById("ss").getElementsByTagName("select")[2].options.add(new Option(menu[num].menu2[0].menu2[i].menu1,i))}
}function xchange(num){
document.getElementById("ss").getElementsByTagName("select")[2].length=0
var num0= document.getElementById("ss").getElementsByTagName("select")[0].selectedIndex
for(var i=0;i<menu[num0].menu2[num].menu2.length;i++)
{document.getElementById("ss").getElementsByTagName("select")[2].options.add(new Option(menu[num0].menu2[num].menu2[i].menu1,i))}
}
</script>
看来人又菜了点 写个3级连动很花了点时间