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 相关文章推荐
jquery对表单操作2
Apr 06 Javascript
深入理解javascript中return的作用
Dec 30 Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 Javascript
实例详解JavaScript获取链接参数的方法
Jan 01 Javascript
javascript简单比较日期大小的方法
Jan 05 Javascript
很不错的两款Bootstrap Icon图标选择组件
Jan 28 Javascript
JavaScript中对JSON对象的基本操作示例
May 21 Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 Javascript
JS跳转手机站url的若干注意事项
Oct 18 Javascript
jquery中有哪些api jQuery主要API
Nov 20 jQuery
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
React如何实现浏览器打印部分内容详析
May 19 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
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
python实现简单购物商城
2016/05/21 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
python实现斗地主分牌洗牌
2020/06/22 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
一组SQL面试题
2016/02/15 面试题
小学班主任寄语大全
2014/04/04 职场文书
介绍信如何写
2015/01/31 职场文书
退税申请报告怎么写
2015/05/18 职场文书
小学运动会报道稿
2015/07/22 职场文书
董事长年会致辞
2015/07/29 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
SQL 聚合、分组和排序
2021/11/11 MySQL