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无限树状列表实现代码
Jan 11 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
Mar 12 Javascript
javascript实现焦点滚动图效果 具体方法
Jun 24 Javascript
javascript原型链继承用法实例分析
Jan 28 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
May 25 Javascript
Bootstrap开发实战之响应式轮播图
Jun 02 Javascript
微信小程序页面间通信的5种方式
Mar 31 Javascript
JavaScript之DOM_动力节点Java学院整理
Jul 03 Javascript
require.js中的define函数详解
Jul 10 Javascript
浅谈Vuejs Prop基本用法
Aug 17 Javascript
Vue中this.$nextTick的作用及用法
Feb 04 Javascript
webpack5 联邦模块介绍详解
Jul 08 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 setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
基于jquery的放大镜效果
2012/05/30 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
2021/01/26 Python
python定义具名元组实例操作
2021/02/28 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
《春雨》教学反思
2014/04/24 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书