jQuery下拉列表二级联动插件
jQuery下拉列表二级联动插件的视图代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery下拉列表二级联动插件</title>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script><!--引用jQery插件-->
<script type="text/javascript" src="jQuery.selected.js"></script><!--jQuery下拉列表二级联动插件-->
<script type="text/javascript" src="js.js"></script><!--调用代码-->
</head>
<body>
<script type="text/javascript">
$(function () {
$('#Select1').selected(defaults);
$('#Select3').selected(defaults2);
});
</script>
<select id="Select1"></select>
<select id="Select2"></select>
<input id="Text1" type="text" /><br />
<select id="Select3"></select>
<select id="Select4"></select>
<input id="Text2" type="text" />
</body>
</html>
jQuery下拉列表二级联动插件(jQuery.selected.js)代码,网上的已经被人封装,直接拿来使用就可以:
(function ($) {
$.fn.selected = function (settings, extraSettings) {
var options;
options = {
NextSelId: '#nextsel',
SelTextId: '#seltext',
Separator: ' ',
SelStrSet: [{ name: 'selected', subname: 'selected'}]
};
return this.each(function () {
$.extend(options, settings, extraSettings); var $$, $$next;
$$ = $(this);
$$next = $(options.NextSelId);
$$.append("<!--selected 1.0 Bate Copyright (c) 2012 Relict-->");
$.each(options.SelStrSet, function () {
var options = this;
$$.append("<option value=" + options.name + ">" + options.name + "</option>");
});
function selchage() {
$$.children("option").each(function (i, o) {
if ($(this).attr("selected")) {
$$next.children("option").remove();
var temp = options.SelStrSet[i].subname.split("|");
for (k = 0; k < temp.length; k++) {
$$next.append("<option value=" + temp[k] + ">" + temp[k] + "</option>");
};
};
});
}
function setText() {
$(options.SelTextId).val($$.val() + options.Separator + $$next.val());
}
$$.change(function () {
selchage();
setText();
});
$$next.change(function () {
setText();
})
selchage();
});
}
})(jQuery);
调用代码js.js调用的时候用的,初始化代码:
var defaults = {
NextSelId: '#Select2',
SelTextId: '#Text1',
Separator: '--',
SelStrSet: [
{ name: '请选择', subname: '请选择'},
{ name: '★高起本★', subname: '计算机科学与技术|汉语言文学' },
{ name: '★高起专★', subname: '语文教育|文秘|学前教育|旅游管理|法律事务|经济管理|会计电算化|电子商务|计算机信息管理|软件工程|机电一体化|精细化学品生产技术|机械制造设计及自动化|播音与主持|艺术设计|书法方向艺术设计' },
{ name: '★专升本★', subname: '思想政治教育|汉语言文学|英语|数学与应用数学|电子信息工程|计算机科学与技术|会计学|公共事业管理|旅游管理|体育教育|音乐学|艺术设计|书法方向艺术设计'}]
} var defaults2 = {
NextSelId: '#Select4',
SelTextId: '#Text2',
Separator: '★',
SelStrSet: [
{ name: '请选择', subname: '请选择'},
{ name: '北京', subname: '北京1|北京2' },
{ name: '上海', subname: '上海1|上海2|上海3|上海4' },
{ name: '天津', subname: '天津'}]
}
jQuery下拉列表二级联动插件的更多相关文章
- jQuery省市区三级联动插件
体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...
- Mybatis + js 实现下拉列表二级联动
Mybatis + js 实现下拉列表二级联动 学习内容: 一.业务需求 二.实现效果 三.代码实现 1. province_city.jsp 2. TwoController 2. Province ...
- Select标签下拉列表二级联动级联
首先从服务器端,绑定下拉列表,二级下拉的text命名按照一定规则加上一级下拉的ID. var options=new Array(); $(document).ready(function(){ // ...
- asp.net mvc jQuery 城市二级联动
页面效果图: 数据库表结构: 首先在数据库中创建省级.城市的表,我的表如下:我用了一张表放下了省级.城市的数据,用level划分省份和城市,parentId表示该城市所在省份的id 主要文件有:ind ...
- jquery实现二级联动
闲来没事,写点jquery练练手. <!--json代码部分 新建文件liandong.json--> var pron_city = { '省':['all'], '北京':[ {'市' ...
- Struts2, jquery, select二级联动
1. 下载jquery.js文件放在webroot下js文件夹里 2. 配置struts.xml: <package name="default" namespace=&qu ...
- django + jquery 实现二级联动
二级联动用ajax还是很好实现的,下面简单给个例子 jquery代码 $("#id_sel").change(function(){ $.get("/browser/ge ...
- jQuery实现的3个基础案例(仿QQ列表分组,二级联动下拉框,模拟员工信息管理系统)
1.仿QQ列表分组 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type&quo ...
- jQuery应用实例3:全选、二级联动
全选: 这里是用JS实现的:http://www.cnblogs.com/xuyiqing/p/8378221.html 如果使用jQuery则会方便很多: <!DOCTYPE html> ...
随机推荐
- frame3.5安装出错
一般是因为禁用了microsoft update,可以在服务里禁用改为手动,之后启动,然后就可以安装
- hibernate中配置单向多对一关联,和双向一对多,双向多对多
什么是一对多,多对一? 一对多,比如你去找一个父亲的所有孩子,孩子可能有两个,三个甚至四个孩子. 这就是一对多 父亲是1 孩子是多 多对一,比如你到了两个孩子,它们都是有一个共同的父亲. 此时孩子就是 ...
- pig分组统计例子
1.选取数据样本 在pig安装目录下有一个文件tutorial/data/excite-small.log,其中的数据分为3列,中间用制表符分隔,第一列为用户ID,第二列为Unix时间戳,第三列为查询 ...
- mysql5.7数据库与5.7之前版本比较
数据库初始化方式变更 <5.7 版本 mysql_install_db >5.7 版本 bin/mysqld --initialize --user =mysql --basedir=/u ...
- python并发编程之多进程、多线程、异步、协程、通信队列Queue和池Pool的实现和应用
什么是多任务? 简单地说,就是操作系统可以同时运行多个任务.实现多任务有多种方式,线程.进程.协程. 并行和并发的区别? 并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任 ...
- PHP json_decode返回null解析失败原因
在PHP5.4之前 json_decode函数有两个参数json_decode有两个参数,第一个是待解析的字符串,第二个是是否解析为Array json_decode要求的字符串比较严格:(1)使用U ...
- STL——list
1.关键概述 list 是定义在 namespace::std 的模板,声明在 <list> ,存储结构是 双向链表, 提供的 正向和反向迭代器. 2.构造list对象 list<i ...
- C errno是否是线程安全的
本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/138 在使用多线程时,遇到了一个问题:线程例程中如果需要使用er ...
- HyperLedger Fabric 1.4 区块链开发平台(4.1)
目前区块链开发平台分“公有链平台”和“联盟链系统”两类,“公有链平台”主要以以太坊为主的平台,可以在该类平台上进行代币的发行和根据各种模块搭建应用:“联盟链系统”主要以超级账本为主的开源系统,该类开源 ...
- XML文件中关键字自动提示和不全配置
一.获得mybatis-3-config.dtd.mybatis-3-mapper.dtd 这两个文件. 建立一个Maven的项目 在Pom.xml文件中的Mybatis jar包的下载设置(也可以从 ...