HTML三级联动

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>三级联动</title>

</head>
<body>
<select οnchange="_show(this)"></select>省
<select οnchange="_xian(this)"></select>市
<select></select>县
</body>
</html>
<script>
var s = ["四川","福建"];
var ds = [["成都","绵阳","广安","德阳","南充"],["厦门","莆田","福州","泉州"]];
var xian = [[["金堂","成华"],["金堂","成华"],["金堂","成华"],["金堂","成华"],["金堂","成华"]],[["金堂","成华"],["金堂","成华"],["金堂","成华"],["金堂","成华"]]];
//得到省的下拉对象
var sheng = document.getElementsByTagName("select")[0];
for(var i =0;i<s.length;i++){
var op = document.createElement("option");//创建元素节点
op.setAttribute("value",i);//设置元素节点的 属性
var tx = document.createTextNode(s[i]);//创建文本节点
op.appendChild(tx);//把文本节点放在元素节点中
sheng.appendChild(op);//把元素节点放在select对象中

}

//这个方法是生产地市下拉列表的,但是是有省的下来修改之后触发
function _show (obj) {
var sVal = obj.value;//得到省的编码值
//得到市的select对象
var shi = document.getElementsByTagName("select")[1];
shi.innerText = "";//?偷懒

//通过省的编码,得到市的一维 数组,在循环一维数组
for(var i =0;i<ds[sVal].length;i++){
var op = document.createElement("option");//创建元素节点
op.setAttribute("value",""+sVal+i);//设置元素节点的 属性
var tx = document.createTextNode(ds[sVal][i]);//创建文本节点
op.appendChild(tx);//把文本节点放在元素节点中
shi.appendChild(op);//把元素节点放在select对象中
}
}


function _xian (obj) {
var sVal = obj.value;//得到市的编码值
//得到市的select对象
var x = document.getElementsByTagName("select")[2];
x.innerText = "";//?偷懒

var sheng = Math.round(sVal/10,0);
var shi = sVal%10;
//通过省的编码,得到市的一维 数组,在循环一维数组

for(var i =0;i<xian[sheng][shi].length;i++){

var op = document.createElement("option");//创建元素节点

op.setAttribute("value",""+sVal+i);//设置元素节点的 属性
var tx = document.createTextNode(xian[sheng][shi][i]);//创建文本节点
op.appendChild(tx);//把文本节点放在元素节点中
x.appendChild(op);//把元素节点放在select对象中
}
}
</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值