zoukankan      html  css  js  c++  java
  • 20131222-Dom省市加载-第二十七天

    [1]省市选择

    <head>

    <title></title>

    <script type="text/javascript">

    window.onload = function () {

    //1.动态加载省份

    var datas = {

    "山东": ["青岛", "济南", "烟台"],

    "山西": ["大同", "太原", "运城"],

    "陕西": ["西安", "咸阳", "汉中"]

    };

     

    var defaultProvince = '山西';

     

    loadProvince(datas, defaultProvince);

     

     

    //2.根据默认选中的省份,动态加载城市信息

    loadCity(datas, defaultProvince);

     

    //2.为省份的select注册一个选择项改变事件,当选择项改变后动态改变"城市列表"

     

    document.getElementById('s1').onchange = function () {

    //1.获取当前选中项

    //this.value指的就是,当前select中被选中的那个optionvalue值。

    //alert(this.value);

    //获取当前用户选中的省份

    var currentProvince = this.value;

     

     

    //根据省份信息加载城市

    loadCity(datas, currentProvince);

    };

    };

     

     

    //加载城市的方法

    function loadCity(dict, dp) {

     

    var s2Obj = document.getElementById('s2');

     

    //重新加载之前清空一下s2

    while (s2Obj.firstChild) {

    s2Obj.removeChild(s2Obj.firstChild);

    }

     

     

    //根据默认选中省份,查找对应的城市信息

    var city = dict[dp];

    //将找到的城市数据加载到s2

    for (var i = 0; i < city.length; i++) {

    var opt = document.createElement('option');

    opt.innerHTML = city[i];

    opt.value = city[i];

    s2Obj.appendChild(opt);

    }

    }

     

    //加载省份的方法

    function loadProvince(dict, dp) {

     

    var s1Object = document.getElementById('s1');

    //遍历dict数据

    for (var key in dict) {

    //每遍历一条数据,则向selelct增加一个option

    var opt = document.createElement('option');

    opt.innerHTML = key;

    opt.value = key;

    //如果当前遍历的省份与"默认要选中的省份"相同

    if (key == dp) {

    //设置默认被选中的option

    opt.selected = true;

    }

     

    //var opt = new Option(key,key);

    s1Object.appendChild(opt);

    }

    }

    </script>

    </head>

    <body>

    省:

    <select id="s1">

    </select>

    市:

    <select id="s2">

    </select>

    </body>

  • 相关阅读:
    禁止WebBrowser控件弹出对话框
    c#禁止Webbrowser控件的弹出脚本错误对话框
    Spread 常用属性
    没有ID的验证码图片,调用方法将图片保存到本地
    C#网页表单自动填写实现原理
    LInqWhere
    加密与解密数据库中数据
    DataAdapter批量处理数据
    OperateXMLDateSet
    jquery json
  • 原文地址:https://www.cnblogs.com/CharlesZHENG/p/4125048.html
Copyright © 2011-2022 走看看