html 如何做一个二级联动的下拉表单(select)

html-css013

html 如何做一个二级联动的下拉表单(select),第1张

<!doctype html><html><head><meta charset="utf-8"><title>联动</title></head><body><select id="s1" onChange="move()"><!-- 根据id获取value,onchange()触发函数move()修改二级select的text值实现联动 -->

<option selected value="s1">-- 请选择 --</option>

<!--默认选中-->

<option value="SC">SC</option>

<option value="BJ">BJ</option>

<option value="TJ">TJ</option></select><select id="s2">

<option selected>-- 请选择 --</option>

<!--默认选中,动态生成option --></select><script>

function move()

{

var s1=document.getElementById("s1")var s2=document.getElementById("s2")<!-- 获取一级和二级的属性-->

var add

if(s1.value=="SC")

{

add=new Array("CD","DZ","MY","NC")<!--比对value值,实现对应二级text值的动态生成-->

}else if(s1.value=="BJ")

{

add=new Array("HD","CY","WFJ")<!--比对value值,实现对应二级text值的动态生成-->

}else if(s1.value=="TJ")

{

add=new Array("TJG","TJ","TJY")<!--比对value值,实现对应二级text值的动态生成-->

}else if(s1.value=="s1")

{

add=new Array("请选择")

}

else

{

add=null<!--若没有就为空,当然不可能出现的-->

}

s2.length=0

for(var i=0i<add.lengthi++) { var ss=new Option() ss.text=add[i].split()[0]

s2.add(ss)

<!--把text值添加到二级select中,显示出来-->

}

}</script></body></html>

用js先写个带参方法,参数就是2级联动的对象obj

写个ajax  data参数就是obj.value, value传给后台获取数据返回给ajax,

然后ajax做你想做的页面处理。。。

<script language="javascript">

function getData(obj) {

var opt = obj.options[obj.selectedIndex]

//alert("The option you select is:"+opt.text+"("+opt.value+")")

$.ajax({

url : "你的url",

type : "Post",

data :  'diqu='+opt.value,

success : function(data1) {

//这里面就可以得到你后台获取过来的数据了,你可以做DOM处理

}

})

}

</script>

<SELECT   onchange="getData(this)">

<OPTION  value ="1">湖北</OPTION>

<OPTION value="2">湖南</OPTION>

<OPTION  value ="3">河北</OPTION>

<OPTION value="4">河南</OPTION>

</SELECT>

纯css打造的下拉菜单效果,兼容多浏览器,将以下代码复制,创建一个html文档即可预览,希望对你有所帮助,代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<meta name="keywords" content="" />

<meta name="description" content="" />

<title>CSS下拉菜单 </title>

<style type="text/css">

*{margin:0padding:0}

#menu{font-size:12pxposition:relativez-index:100}

#menu ul{list-style:none}

#menu li {float:leftposition:relative}

#menu ul ul {visibility:hiddenposition:absoluteleft:3pxtop:23px}

#menu table {position:absolutetop:0left:0}

#menu ul li:hover ul,

#menu ul a:hover ul{visibility:visible}

#menu a{display:blockborder:1px solid #000background:#8192A6padding:2px 10pxmargin:3pxcolor:#ffftext-decoration:none}

#menu a:hover{background: #0FFcolor:#f00border:1px solid #00F}

#menu ul ul{}

#menu ul ul li {clear:bothtext-align:leftfont-size:12px}

#menu ul ul li a{display:blockwidth:100pxheight:13pxmargin:0border:0border-bottom:1px solid red}

#menu ul ul li a:hover{border:0background:#f2cdb0border-bottom:1px solid #00F}

</style>

</head>

<body>

<a href="#">站长特效网</a>

<hr>

<div id="menu">

<ul>

<li><a href="#">

<!--[if IE 7]><!--></a><!--<![endif]-->

<!--[if lte IE 6]><table><tr><td><![endif]-->

<ul>

<li><a href="#">一号站长特效</a></li>

<li><a href="#">二号站长特效</a></li>

<li><a href="#">三号站长特效</a></li>

<li><a href="#">四号站长特效</a></li>

</ul>

<!--[if lte IE 6]></td></tr></table></a><![endif]-->

</li>

<li><a href="#">站长特效二号

<!--[if IE 7]><!--></a><!--<![endif]-->

<!--[if lte IE 6]><table><tr><td><![endif]-->

<ul>

<li><a href="#">站长一号特效</a></li>

<li><a href="#">站长二号特效</a></li>

</ul>

<!--[if lte IE 6]></td></tr></table></a><![endif]-->

</li>

<li><a href="#">站长特效三号

<!--[if IE 7]><!--></a><!--<![endif]-->

<!--[if lte IE 6]><table><tr><td><![endif]-->

<ul>

<li><a href="#">站长一号特效</a></li>

<li><a href="#">站长一号特效</a></li>

</ul>

<!--[if lte IE 6]></td></tr></table></a><![endif]-->

</li>

<li><a href="#">站长特效四号</a></li>

<li><a href="#">站长特效五号</a></li>

</ul>

</div>

</body>

</html>