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 相关文章推荐
javascript Keycode对照表
Oct 24 Javascript
基于jquery点击自以外任意处,关闭自身的代码
Feb 10 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
Feb 10 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
jQuery中odd选择器的定义和用法
Dec 23 Javascript
javascript设计模式之模块模式学习笔记
Feb 15 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
Jul 31 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 Javascript
vuex的使用步骤
Jan 06 Vue.js
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
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
详解javascript 正则表达式之分组与前瞻匹配
2018/05/30 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
分享一个常用的Python模拟登陆类
2015/03/29 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
Python制作exe文件简单流程
2019/01/24 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
体育学院毕业生自荐信
2013/11/03 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
办公用房租赁协议书
2014/11/29 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
法院答辩状格式
2015/05/22 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
Mysql 文件配置解析介绍
2022/05/06 MySQL
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers