省市联动_简单的Demo,适用于各种二级菜单联动
最近搞了一个功能,是查询页面需要用到二级菜单联动,获取到选中的属性value传入到后台。
平常都是用AJAX或者JQuery ,通过XML或者JSON的方式,这样的话需要调用数据库,像典型得到省市联动或者省市县三级等,一般这样的数据会有一张单独的数据表,
需要用的话,通过查询数据库获得相应的数据,返回一个JSNO,在前台进行处理显示。
但是这个功能没有单独的表,总共七个一级菜单,每个一级菜单下对应N个二级菜单,考虑到数据量不大,没有必要去改变原有的数据库表结构,就想到了用简单的JS去实现这个需求。
废话不多话,代码如下:
jsp部分代码:
<form action="" name="form1">
<select name="province" id="province" onChange="getChild()">
<option>== 请选择省份 ==</option>
<option>北京市</option>
<option>山西省</option>
<option>山东省</option>
<option>河北省</option>
<option>河南省</option>
</select> <select name="city" class="city">
<option>== 请选择市区 ==</option>
</select>
</form>
JS代码:
<script type="text/javascript">
//二级联动
//定义城市数组
var ctiyList = [
["东城区","西城区","朝阳区","丰台区","海淀区","昌平区"],
["太原市","大同市","运城市","临汾市","忻州市","晋中市"],
["济南市","青岛市","威海市","烟台市","临沂市","德州市"],
["石家庄市","邢台市","保定市"],
["郑州市","焦作市","三门峡市"],
];
//点击选择框触发得到方法
function getChild(){
var sltProvince = document.form1.province;//获取name为form1下province
var sltCity = document.form1.city;//获取name为form1下city
var pc=ctiyList[sltProvince.selectedIndex - 1]; //省份列表下标要和城市列表下标一致
sltCity.length=1;//每次选择都清空城市列表
//遍历根据省份下标与之对应的城市下标
for(var i=0;i<pc.length;i++){
sltCity[i+1]=new Option(pc[i],pc[i]);
}
}
</script>
省市联动_简单的Demo,适用于各种二级菜单联动的更多相关文章
- JavaScript(jquery)实现二级菜单联动
为什么写这篇随笔? 二级菜单的联动一直是我心中一块石头,犹记得大一的时候只会用一点的Dreamweaver,当时做二级菜单难受啊,啥都不会,网上找了些资料,也看不懂别人的代码更别说用起来了 前些日子. ...
- Ajax和JSON完成二级菜单联动的功能
首先需要找好JSON的包哦: 链接:http://pan.baidu.com/s/1jH6gN46 密码:lbh1 1:首先创建一个前台页面,比如secondMenu.jsp,源码如下所示: < ...
- Excel实现二级菜单联动
项目中需要导入一个Excel模板需要实现二级联动,现记录如下: 首先看一下原始数据,原始信息在一张工作表,第一行是省市名称,下面的若干行为对应省市下面的地名和区名.需要在另外一张工作表中A列和B列建立 ...
- Struts2二级菜单联动
http://www.cnblogs.com/wujixing/p/5194461.html ps: Java面试 http://blog.csdn.net/zhang070809/article/d ...
- ecshop简单三部实现导航分类二级菜单
1.在page_header.lbi对应的位置(你想显示导航的位置)插入 (注意下面的"themes/模板名称/util.php"中的"模板名称"改成你模板文件 ...
- juqery easy ui 实现二级菜单联动
实现效果 代码: <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat= ...
- C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo
在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架 ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
然后是项目下的文件:完整的项目请看 上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...
- MEF简介及简单的Demo
MEF简介及简单的Demo 文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门 ...
随机推荐
- jquery 基础变量定义
var $i=$("#D1"); var i=$("#D2"); function(){ //这里获取控件对象值 var d1=$i.val ...
- 一些IO流的知识
IO流: 输入流:输出流: 字节流:字符流:为了处理文字数据方便而出现的对象. 其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据) 只不过,通过字节流读取了相对应的字节数,没有对这些字节直 ...
- 打印Fibonacci数列方法汇总(前20项,每行5个)
NO.1 迭代法 标签:通俗.易懂 思路:先打印第一项.再在循环里面执行fib=fib1+fib2,把fib2赋给fib1,把fib赋给fib2,每行5个可使用if函数(循环次数对5取余). #inc ...
- 三、Dotnet Core Code First 创建数据库
1.在项目中创建Models文件夹2.在Models文件夹中建立 表的属性类:如 User类.3.在Models文件夹创建DataContext 继承DbContext类(可以选择重写OnModelC ...
- final修饰的变量是引用不能变还是对象的内容不能变?
int a=1;此时a是变量: StringBuffer a=new StringBuffer();此时a就是引用变量,可以说是a引用String对象,通过a来操作String 对象 final St ...
- NodeJS 阻塞/非阻塞
阻塞实例 var fs = require('fs'); var data = fs.readFileSync('test.txt') console.log(data.toString()); co ...
- 单Js 的重力游戏开发
最近在用看cocos的时候萌生的想法,单纯js实现重力原理.然后就做了一个这样的小游戏.姑且命名为<超级玛丽>! 因为之前有人要我做超级玛丽.哈哈哈哈哈哈!这也算完成任务了吧. 先说一下原 ...
- bzoj4825 [Hnoi2017]单旋
Description H 国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构.伸展树(splay)是一种数据结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了 H 国的必 ...
- PHP预定义变量$_SERVER
PHP预定义变量$_SERVER $_SERVER 是一个包含诸如头部(headers).路径(paths)和脚本位置(script locations)的数组.数组的实体由 web 服务器创建,不能 ...
- window系统下sbt的安装
最近进了一个新公司,用playframework,不用maven,用sbt,然后就来写一下自己的心酸sbt安装进程吧. 第一步: 安装java8,配置好环境变量,这些不用多说吧,之所以是要8版本,是因 ...