javascript实现简单的二级联动


Posted in Javascript onMarch 19, 2015

二级联动在一般的网页中随处可见,一般是地址,比如点击浙江省,随后出现的是杭州市,嘉兴市;点击北京省出现的是朝阳,海淀,而不是出现杭州,嘉兴。

要想实现这个步骤,就要用到javascript来实现。其中原理用到onchange时间。

首先,onchange 事件会在域的内容改变时发生。支持该事件的 JavaScript 对象:fileUpload, select, text, textarea,我们在实现二级联动中正是用到select来完成。

以下是HTML代码,先设置一个select为省,第二个select为市,但是市我们在js中用数组将其与省份连接。

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <title>javascript二级联动</title>

</head>

<body>

<select id="province">

    <option value="-1">省</option>

    <option value="0">北京</option>

    <option value="1">浙江</option>

</select>

<select id="city">

</select>

<script src="../js/province.js"></script>

</body>

</html>

 以下是js代码

var province = document.getElementById("province");

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

var area = [

['朝阳','海淀','北京'], //第0个area的数组。0{0,1,2}

['杭州','海宁']         //第1个area的数组, 1{0.1}

];

 function choose(){

     var opt = "";

     var len = area[province.value];  //如果选择北京0,那么,len=['朝阳‘,'海淀‘]    这个是连接哪个省份对应着哪个市的<span style="background-color: #888888;">市的</span>数组

     if(province.value == '-1'){     //因为select的value为-1的时候是‘省'这个字,而不是北京,所以,我们选择这个省的时候对应着让他的市为空

         city.innerHTML = opt;

     }

     for(var i = 0;i < len.length; i++){  //area的数组个数for(i = 0;i < 3; i++)

        opt = opt + '<option value ="'+ i +'">  '+ len[i]+ '</option>'  //opt = "" + <option value = "0">朝阳(lin[0])</option>,

     //opt = <option value = "0">朝阳(lin[0])</option>, + <br>





















 

     <option value = "1">海淀(lin[1])</option>

     //opt = <option value = "0">朝阳(lin[0])</option>, + <br>






















 

     <option value = "1">海淀(lin[1])</option> + <br>






















 

     <option value = "2">北京(lin[2])</option>

     }

     city.innerHTML = opt;

}

province.onchange = function(){

    choose();

}

二级联动在一般的网页中随处可见,一般是地址,比如点击浙江省,随后出现的是杭州市,嘉兴市;点击北京省出现的是朝阳,海淀,而不是出现杭州,嘉兴。

要想实现这个步骤,就要用到javascript来实现。其中原理用到onchange时间。

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

Javascript 相关文章推荐
json简单介绍
Jun 10 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
Javascript中arguments对象详解
Oct 22 Javascript
JavaScript操作cookie类实例
Mar 31 Javascript
jquery ajaxfileupload异步上传插件使用详解
Feb 08 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
Mar 01 Javascript
vue元素实现动画过渡效果
Jul 01 Javascript
javascript cookie的基本操作(添加和删除)
Jul 24 Javascript
React学习笔记之列表渲染示例详解
Aug 22 Javascript
js序列化和反序列化的使用讲解
Jan 19 Javascript
js实现图片跟随鼠标移动效果
Oct 16 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
jQuery实现360°全景拖动展示
Mar 18 #Javascript
自定义百度分享的分享按钮
Mar 18 #Javascript
javascript实现密码强度显示
Mar 18 #Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 #Javascript
JavaScript从数组中删除指定值元素的方法
Mar 18 #Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 #Javascript
JS制作简单的三级联动
Mar 18 #Javascript
You might like
php生成文件
2007/01/15 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
python中pika模块问题的深入探究
2018/10/13 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
文明单位汇报材料
2014/12/24 职场文书
小学生思想品德评语
2014/12/31 职场文书
活动经费申请报告
2015/05/15 职场文书
goland 清除所有的默认设置操作
2021/04/28 Golang
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers