js三级联动问题,复制百度代码的就不要回答了

省级下边可以显示但是到了市就无法显示,而且没有报错求帮助,告诉我下为什么... 省级下边可以显示但是到了市就无法显示,而且 没有报错求帮助,告诉我下为什么 展开
 我来答
yugi111
2017-06-27 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<!DOCTYPE HTML>
<html>

<head>
<title>Page Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script>
var pros = ["吉林省","黑龙江省","辽宁省"];
var cities = [
[11,12,13],
[21,22,23],
[31,32,33]
];
var areas = [
[
[111,112,113],
[121,122,123],
[131,132,133]
],
[
[211,212,213],
[221,222,223],
[231,232,233]
],
[
[311,312,313],
[321,322,323],
[331,332,333]
]
];
onload = function(){
for(var i=0;i<pros.length;i++){
var opt = document.createElement("option");
opt.innerHTML = pros[i];
pro.appendChild(opt);
}
pro.onchange = function(){
var opts = city.children;
for(var i=1;i<opts.length;i++){
city.removeChild(opts[i]);
i--;
}
opts = area.children;
for(var i=1;i<opts.length;i++){
area.removeChild(opts[i]);
i--;
}
var ind = this.selectedIndex;
var arr = ind > 0 ? cities[ind-1] : [];
for(var i=0;i<arr.length;i++){
var opt = document.createElement("option");
opt.innerHTML = arr[i];
city.appendChild(opt);
}
}

city.onchange = function(){
var opts = area.children;
for(var i=1;i<opts.length;i++){
area.removeChild(opts[i]);
i--;
}
var ind1 = pro.selectedIndex;
var ind2 = this.selectedIndex;
var arr =ind1>0&&ind2>0 ? areas[ind1-1][ind2-1] : [];
for(var i=0;i<arr.length;i++){
var opt = document.createElement("option");
opt.innerHTML = arr[i];
area.appendChild(opt);
}
}
}
</script>
</head>

<body>
 <select id="pro">
  <option>请选择省</option>
 </select>
 <select id="city">
  <option>请选择市</option>
 </select>
 <select id="area">
  <option>请选择区</option>
 </select>
</body>

</html>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式