JS制作简单的三级联动


Posted in Javascript onMarch 18, 2015

用javascript制作的一个简单三级联动,非常简单实用

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <title></title>

    </head>

    <body>

        省:

        <select style="width: 100px;" id="pre" onchange="chg(this);">

            <option value="-1">请选择</option>

        </select>

        市:

        <select style="width: 100px;" id="city" onchange="chg2(this)" ;></select>

        区:

        <select style="width: 100px;" id="area"></select>

    </body>

    <script>

         //声明省

        var pres = ["北京", "上海", "山东"]; //直接声明Array

         //声明市

        var cities = [

            ["东城", "昌平", "海淀"],

            ["浦东", "高区"],

            ["济南", "青岛"]

        ];

        var areas = [

                [

                    ["东城1", "东城2", "东城3"],

                    ["昌平1", "昌平2", "昌平3"],

                    ["海淀1", "海淀2", "海淀3"]

                ],

                [

                    ["浦东1", "浦东2", "浦东3"],

                    ["高区1", "高区2", "高区3"]

                ],

                [

                    ["济南1", "济南2"],

                    ["青岛1", "青岛2"]

                ]

            ]

            //设置一个省的公共下标

        var pIndex = -1;

        var preEle = document.getElementById("pre");

        var cityEle = document.getElementById("city");

        var areaEle = document.getElementById("area");

         //先设置省的值

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

            //声明option.<option value="pres[i]">Pres[i]</option>

            var op = new Option(pres[i], i);

            //添加

            preEle.options.add(op);

        }

        function chg(obj) {

            if (obj.value == -1) {

                cityEle.options.length = 0;

                areaEle.options.length = 0;

            }

            //获取值

            var val = obj.value;

            pIndex = obj.value;

            //获取ctiry

            var cs = cities[val];

            //获取默认区

            var as = areas[val][0];

            //先清空市

            cityEle.options.length = 0;

            areaEle.options.length = 0;

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

                var op = new Option(cs[i], i);

                cityEle.options.add(op);

            }

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

                var op = new Option(as[i], i);

                areaEle.options.add(op);

            }

        }

        function chg2(obj) {

            var val = obj.selectedIndex;

            var as = areas[pIndex][val];

            areaEle.options.length = 0;

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

                var op = new Option(as[i], i);

                areaEle.options.add(op);

            }

        }

    </script>

</html>

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
js获取input标签的输入值实现代码
Aug 05 Javascript
JavaScript对象的property属性详解
Apr 01 Javascript
JS获取当前网页大小以及屏幕分辨率等
Sep 05 Javascript
javascript中bind函数的作用实例介绍
Sep 28 Javascript
JavaScript变量声明详解
Nov 27 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
Angular 作用域scope的具体使用
Dec 11 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
vue的keep-alive用法技巧
Aug 15 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
Oct 16 Javascript
Html5生成验证码的示例代码
May 10 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
Mar 18 #Javascript
javascript版2048小游戏
Mar 18 #Javascript
JavaScript判断用户是否对表单进行了修改的方法
Mar 18 #Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 #Javascript
JavaScript列表框listbox全选和反选的实现方法
Mar 18 #Javascript
JavaScript控制listbox列表框的项目上下移动的方法
Mar 18 #Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
Mar 18 #Javascript
You might like
基于mysql的论坛(1)
2006/10/09 PHP
php curl选项列表(超详细)
2013/07/01 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
es6学习之解构时应该注意的点
2017/08/29 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
Python中修改字符串的四种方法
2018/11/02 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
大数据分析用java还是Python
2020/07/06 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
毕业生医学检验求职信
2013/10/16 职场文书
高一化学教学反思
2014/02/05 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
档案工作汇报材料
2014/08/21 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
会计电算化实训报告
2014/11/04 职场文书
大学生军训感言
2015/08/01 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
MySQL 角色(role)功能介绍
2021/04/24 MySQL