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实现代码
Oct 01 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 Javascript
js判断undefined变量类型使用typeof
Jun 03 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
JavaScript学习笔记之基础语法
Jan 22 Javascript
浅谈javascript中for in 和 for each in的区别
Apr 23 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
JavaScript队列、优先队列与循环队列
Nov 14 Javascript
JS轮播图实现简单代码
Feb 19 Javascript
element-ui使用导航栏跳转路由的用法详解
Aug 22 Javascript
layui实现给某一列加点击事件
Oct 26 Javascript
十分钟教你上手ES2020新特性
Feb 12 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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
php session和cookie使用说明
2010/04/07 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
解决vue无法设置滚动位置的问题
2018/10/07 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Python类型转换的魔术方法详解
2020/12/23 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
借款协议书
2014/04/12 职场文书
拔河比赛口号
2014/06/10 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
踏青活动策划方案
2014/08/19 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
被告代理词范文
2015/05/25 职场文书
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers