在第一个下拉列表中选择一个省,后面第二个下拉列表就会出现前面省对应的市,用js怎样写
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var city = new Array();
city["广东省"] = ["广州市", "深圳市", "茂名市", "珠海市", "湛江市"];
city["广西省"] = ["玉林市", "白色市", "桂林市"];
city["湖南省"] = ["长沙市", "岳阳市", "湘潭市"];
city["海南省"] = ["三亚市", "三沙市", "海口市"];
var qu=new Array();
qu["广州市"]=["黄浦区","越秀区","番禺区"];
qu["玉林市"]=["玉林一区","玉林二区","玉林三区"];
qu["长沙市"]=["长沙一区","长沙二区","长沙三区"];
qu["深圳市"]=["龙华区","福田区","宝安区"];
function sheng() {
var sheng = document.getElementById("sheng");
for(var i in city) {
sheng.add(new Option(i, i), null);
}
}
window.onload = sheng;
function shi() {
var shi = document.getElementById("shi");
var sheng = document.getElementById("sheng").value;
shi.options.length = 0;
for(var i in city[sheng]) {
shi.add(new Option(city[sheng][i], city[sheng][i]), null);
}
}
function que(){
var q=document.getElementById("q");
var shi=document.getElementById("shi").value;
q.options.length=0;
for(var i in qu[shi]){
q.add(new Option(qu[shi][i],qu[shi][i]),null);
}
}
</script>
</head>
<body>
<select id="sheng" onchange="shi()">
</select>
<select id="shi" onchange="que()">
</select>
<select id="q"></select>
</body>
</html
根据前面的省的信息,决定后面的下拉列表绑定的数据信息,
前面做一个判断,每个省都对应相应的市,选择省后,更具省,加载后面的市
前面用change事件触发,后面的回掉函数(参数,为前面的省,执行这个下拉列表的赋值)
首先你得有省市的数据,然后按照一定的格式,例如json类型的,存储在js文件中;省市字段的规则要有一定的关联,譬如省的里面有个key字段,靠这个字段是可以和该省对应的市联系起来的。这只是一个思想,你可以用几个省市自己玩一下,然后在网上下载相应的Demo。
大概是这样子,慢慢琢磨