• 二级联动列表


    <!DOCTYPE HTML>
    <html>
    <head>
    <title>二级联动列表</title>
    <meta charset="utf-8" />
    <style>
    .hide{ display: none; }
    </style>
    <script>
    /*实现“省”和“市”的级联下拉列表*/
    var cities=[
    [], /*0号下标没有元素*/
    [{"name":'东城区',"value":101},
    {"name":'西城区',"value":102},
    {"name":'海淀区',"value":103},
    {"name":'朝阳区',"value":104}],
    [{"name":'河东区',"value":201},
    {"name":'河西区',"value":202},
    {"name":'南开区',"value":303}],
    [{"name":'石家庄市',"value":301},
    {"name":'廊坊市',"value":302},
    {"name":'保定市',"value":303},
    {"name":'唐山市',"value":304},
    {"name":'秦皇岛市',"value":304}]
    ];

    function getCities(selProvs){
    var index=selProvs.selectedIndex;//首先要拿到第几项被选中
    //找到name属性为cities的select元素,保存在变量selCities中
    var selCities=document.getElementsByName("cities")[0];
    //getElementsBy...就算只找到一个返回的也是数组,所以一定要加下标!!!
    //如果i等于0
    if(index==0){
    // 设置selCities的className为hide
    selCities.className="hide";
    }else{//否则
    // 清除selCities的calssName属性
    selCities.className="";
    // 清除selCities下的所有内容
    selCities.innerHTML="";

    /*

    // 先创建文档片段,保存在frag中
    var frag=document.createDocumentFragment();
    // 创建一个空option元素保存在变量opt中
    var opt=document.createElement("option");
    // 设置opt的内容为请选择
    opt.innerHTML="-请选择-";
    // 将opt追加到frag中
    frag.appendChild(opt);

    */
    //可以用下面一句html dom 代替

    selCities.add(new Option("-请选择-"));//大写!!!

    // 遍历cities数组中index位置的子数组中每个城市对象
    for(var i=0;i<cities[index].length;i++){
    // 每遍历一个城市,要创建一个空option元素保存在变量opt中
    /*

    opt=document.createElement("option");
    // 设置opt的内容为当前城市的name属性值
    opt.innerHTML=cities[index][i].name;
    // 设置opt的value属性为当前城市的value属性
    opt.value=cities[index][i].value;
    // 将opt追加到frag中
    frag.appendChild(opt);
    }
    // (遍历结束)将frag整体追加到selCities中

    */
    //用这句代替
    selCities.add(
    new Option(cities[index][i].name
    ,cities[index][i].value));
    }
    //selCities.appendChild(frag);简便之后就不需要这个了
    }

    }
    </script>

    </head>
    <body>
    <select name="provs" onchange="getCities(this)">
    <option>—请选择—</option>
    <option>北京市</option>
    <option>天津市</option>
    <option>河北省</option>
    </select>

    <select name="cities" class="hide"></select>
    </body>
    </html>

  • 相关阅读:
    C++指针和引用及区别
    C/C++中extern关键字总结
    php进阶面试题总结
    算法疑难(js实现)---11、字典树
    Trie|如何用字典树实现搜索引擎的关键词提示功能
    ExtJS表格——行号、复选框、选择模型
    Ext.js 中 25种类型的Ext.panel.Tool
    Ext NumberField使用
    [ext]form.submit()相关说明
    ExtJS 表单 submit时错误处理
  • 原文地址:https://www.cnblogs.com/songleyi/p/5281560.html
Copyright © 2020-2023  润新知