js实现如何这个联动效果?

JavaScript011

js实现如何这个联动效果?,第1张

具体代码如下:

<html>

<head>

<title>简单的Select联动菜单代码</title>

</head>

<body>

<FORM name="F1">

<SELECT NAME="select1" onChange="set_list(this.options.selectedIndex)">

<OPTION SELECTED>流行音乐</OPTION>

<OPTION>网上书籍</OPTION>

<OPTION>软件下载</OPTION>

</SELECT>

<SELECT NAME="select2" >

<OPTION SELECTED>请选网站</OPTION>

</SELECT>

<SCRIPT LANGUAGE="JavaScript">

var l=document.F1.select1.options.length

//取得第一下拉菜单的选项数目

var group=new Array(l)

//根据这个数目创建数组

for (i=0i<li++)

//上一个数组的每一个元素也是数组

group[i]=new Array()

//接下来创建选项,为第二下拉菜单定义内容

group[0][0]=new Option("CNTV","http://www.cntv.cn")

group[0][1]=new Option("音乐天堂","#")

group[0][2]=new Option("搜狗音乐","http://mp3.sogou.com/")

group[1][0]=new Option("网页特效","/jscss")

group[1][1]=new Option("白鹿书院","http://www.readlink.net")

group[2][0]=new Option("华军软件园","http://www.newhua.com")

group[2][1]=new Option("搜狐下载 ","http://it.sohu.com/download/")

group[2][2]=new Option("中国下载","http://www.download.com.cn")

var selobj=document.F1.select2//设定需要动态改变的对象是第二下拉菜单

function set_list(x) //x表示第一菜单被选定的内容

{

for (m=selobj.options.length-1m>0m--) //先清除第二菜单的选项

selobj.options[m]=null

for (i=0i<group[x].lengthi++){

//根据第一菜单的选定序号,丛控件数组中提取菜单选项放进第二菜单

selobj.options[i]=group[x][i]

//这里也可以创建新的对象,例如:selobj.options[i]=new Option(group[x][i].text,group[x][i].value)

}

selobj.options[0].selected=true

//选定第0号选项

}

function go(){

//这个函数用来将窗口导航到指定的URL

location=selobj.options[selobj.selectedIndex].value

}

</SCRIPT>

</FORM>

<p><INPUT TYPE="BUTTON" NAME="Button" VALUE="go" onclick="go()" style="background-color: #FFFFFFfloat: leftfont-family: Arial Blackfont-size: 10ptfont-weight: boldtext-decoration: blinkcolor: #000000font-style: italicborder-style: solidborder-width: 1"></p>

<p> </p>

</body>

</html>

你好。 很幸运看到你的问题。 但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。 可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。 希望我的回答也能够帮到你! 祝你好运~!

满意请采纳

按说这种操作应该是后台程序来做,前端操作的话有点窒息,主要是数据量。。亲测有效,望采纳!

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<link rel="stylesheet" type="text/css" href="CSS3/xuanxing.css" />

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.js"></script>

</head>

<body>

<style>

select{ width:75px font-size:12px color:#000000 font-family:'宋体' margin:auto 0px}

#select0{ background:yellow}

.select{ background:#85e785}

</style>

<script>

$(document).ready(function(e) {

$("select#select0").change(function(){

var cc = $(this).find("option:selected").attr("class")

$(this).siblings("select").find("option").hide()

$(this).siblings("select").find("option."+cc).show()

$(this).siblings("select").find("option."+cc+":first").attr("selected","selected")

})

$("select.select").change(function(){

var cid = $(this).find("option:selected").index()

$(this).siblings("select.select").each(function(){

$(this).find("option").eq(cid).attr("selected","selected")

})

})

})

</script>

<div style="width: 400px height: 20px margin:0 auto word-spacing: 0px">

<select id="select0">

<option class="op0">10mm</option>

<option class="op1">20mm</option>

<option class="op2">40mm</option>

</select>

<select class="select">

<option class="op0">8n</option>

<option class="op0">12n</option>

<option class="op0">16n</option>

<option class="op1">24n</option>

<option class="op1">28n</option>

<option class="op1">32n</option>

<option class="op2">40n</option>

<option class="op2">44n</option>

</select>

<select class="select">

<option class="op0">70mm</option>

<option class="op0">110mm</option>

<option class="op0">150mm</option>

<option class="op1">230mm</option>

<option class="op1">270mm</option>

<option class="op1">310mm</option>

<option class="op2">390mm</option>

<option class="op2">430mm</option>

</select>

<select class="select">

<option class="op0">128mm</option>

<option class="op0">190mm</option>

<option class="op0">230mm</option>

<option class="op1">310mm</option>

<option class="op1">350mm</option>

<option class="op1">390mm</option>

<option class="op2">470mm</option>

<option class="op2">510mm</option>

</select>

<select class="select">

<option class="op0">ESA0810</option>

<option class="op0">ESA1210</option>

<option class="op0">ESA1610</option>

<option class="op1">ESA2410</option>

<option class="op1">ESA2810</option>

<option class="op1">ESA3210</option>

<option class="op2">ESA4010</option>

<option class="op2">ESA4410</option>

</select>

</div>

</body>

</html>

<!---->