二级联动

效果图
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>二级联动</title>
</head>
<body>
    <select id="province" >
        <option>--请选择省份--</option>
    </select >
    <select id="city">
        <option>--请选择城市--</option>
    </select>
</body>
<script type="text/javascript">
/*
    //json 对象
    //java 中的 map  key:value
    //创建json对象
    var json = {"name":"tom","age":18};
    //拿到json中的所有键
    for(var key in json){
    //根据键取得对应的值
        alert(key+"==>"+json[key]);
    }
*/
//1.创建json
var json = {"河北省":["廊坊市","保定市","石家庄"],"山东省":["济南","青岛","烟台"],"河南省":["郑州市","洛阳市","开封"]};
var province = document.getElementById("province");
var city = document.getElementById("city");
//2.遍历json中的所有key
for(var key in json){
//3.key封装到option对象中
    var option = document.createElement("option");
    option.innerHTML = key;
//4.添加
    province.appendChild(option);
}

//5.为province添加onchange事件
province.onchange=function(){
    //1.每次添加市之前,清空市的下拉选
        city.length=1;
    //2.获得用户选择的省
    var pronvinceKey = this.options[this.selectedIndex].innerHTML;
    //3.根据选择的省去json中取得对应数组
    var cities = json[pronvinceKey];
    //4.遍历数组中的所有市,封装到option对象中
    for(var i = 0 ; i < cities.length ; i++){
        var option = document.createElement("option");
            option.innerHTML = cities[i];
    //5.将option添加到city中
            city.appendChild(option);
    }
    
}
</script>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 两个控制器版本 思路:两个不同的控制器,放两个tableview然后其中一个加载子标题,需要加载子标题的的控制器,...
    哔哩哔哩智能喵阅读 8,921评论 0 0
  • 主 题:以上市公司为中心的一二级联动并购重组基金、定向增发、借壳上市和新兴产业基金创新 时 间:2016年4月23...
    华中培训消息阅读 3,741评论 0 0
  • 场景:一篇文章需要多个标签,其中第一个标签是国家,第二个标签是省,当选择第一个标签的时候,第二个标签的内容相应得到...
    Jayzen阅读 1,300评论 0 0
  • 实战实例: //在select上绑定事件监听改变,动态ajaxfunction getFaculty(center...
    AliceGreek阅读 2,490评论 0 2
  • 静静的夜 悄无声息 没有星星的夜 仿佛进入了黑洞 意识渐渐模糊 逐渐混沌 远处仿佛有微弱的光 逐渐变亮 仿佛光明使...
    清晨的风儿阅读 838评论 4 2