zoukankan      html  css  js  c++  java
  • js省市级联

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>省市级联</title>
        <script type="text/javascript">
            window.onload = function () {
                var datas = { "山东": ["青岛", "济南", "烟台"], "山西": ["大同", "太原", "运城"], "湖北": ["武汉", "咸宁", "宜昌"] };

                var s1obj = document.getElementById('s1');
                //动态创建数据,加载到省中.

                //假定
                var defaultProvice = '山西';

                //1加载省份
                for (var shen in datas) {
                    //1.1创建一个select下的option.
                    var optshen = document.createElement('option');
                    optshen.innerHTML = shen;
                    optshen.value = shen;
                    //1.2设置默认.
                    if (shen == defaultProvice) {
                        optshen.selected = true;
                    }
                    s1obj.appendChild(optshen);
                }

                //2.设置默认的省下的城市.
                //2.1获取默认的省份下的城市.
                var citys = datas[defaultProvice];
                //2.2.获取s2
                var s2obj = document.getElementById('s2');
                for (var i = 0; i < citys.length; i++) {
                    //2.3 创建一个option
                    var optcity = document.createElement('option');
                    optcity.innerHTML = citys[i];
                    optcity.value = citys[i];
                    s2obj.appendChild(optcity);
                }

                //3为省份的select元素注册一个onchange事件.
                s1obj.onchange = function () {

                    //4.清空城市选中列表
                    while (s2obj.firstChild) {
                        s2obj.removeChild(s2obj.firstChild);
                    }

                    //4方法二
                   // s2obj.innerHTML = '';

                    //1.获取当前选中项的名称.
                    var provinceName = this.value;
                    var currentCitys = datas[provinceName];
                    //创建option
                    for (var i = 0; i < currentCitys.length; i++) {
                        //3.1
                        var optionCity = document.createElement('option');
                        optionCity.value = currentCitys[i];
                        optionCity.innerHTML = currentCitys[i];
                        s2obj.appendChild(optionCity);
                    }
                }
            }
        </script>
    </head>
    <body>
        省<select id="s1"></select>
        市<select id="s2"></select>
    </body>
    </html>

  • 相关阅读:
    vscode Nodejs 调试 相关总结
    编程语言中的foo,bar到底是什么
    带T和带Z的相关时间是什么 及关于时间的一些知识
    自定义Firefox的 "切换previous标签页"快捷键, 增加"切回last标签页"快捷键
    开始使用Firefox
    Fork-Join 原理深入分析(二)
    Fork-Join分治编程介绍(一)
    Executor框架(七)Future 接口、FutureTask类
    Executor框架(六)CompletionService 接口
    Executor框架(五)Executors工厂类
  • 原文地址:https://www.cnblogs.com/nqsan/p/3203364.html
Copyright © 2011-2022 走看看