jQuery实现的多选框多级联动插件


Posted in Javascript onMay 02, 2014

jQuery 实现的多选框联动插件

// 使用:$(_event_src_).autoSelect(_reload_, reload_url); 
// 前台用get方法传输<select>标签的属性"name"和选中<option>的属性"value" 
// 后台用json格式传输数据 
// 格式: { value:<option>的属性"value", text:<option>的显示文本 } 
(function($) { 
$.fn.extend({ 
autoSelect: function(dest, url) { 
return this.each(function() { 
$.SelectChange($(this), $(dest), url); 
}); 
}, 
}); // 重置复选框 
$.SelectReset = function(target) { 
if (target != null) { 
$.SelectReset(target.data("nextSelect")); 
target.empty(); 
target.append(target.data("defaultOpt")); 
} 
}; 
// 加载复选框 
$.SelectLoad = function(target, data) { 
$.each(data, function(index, content) { 
var option = $("<option></option>") 
.attr("value", content.value).text(content.text); 
target.append(option); 
}); 
}; 
// 绑定 change 事件 
$.SelectChange = function(target, dest, url) { 
// 绑定联动链 
target.data("nextSelect", dest); 
// 记录默认选项(first option) 
if (target.data("defaultOpt") == null) 
target.data("defaultOpt", target.children().first()); 
dest.data("defaultOpt", dest.children().first()); 
$(document).ready(function() { 
target.change(function(event) { 
var _target = event.target || window.event.srcElement; 
if (_target.value != target.data("defaultOpt").attr("value")) { 
$.getJSON(url, { 
"name": _target.name, 
"value": _target.value 
}, function(data, status) { 
if (status == "success") { 
$.SelectReset(target.data("nextSelect")); 
$.SelectLoad(target.data("nextSelect"), data); 
} 
}); // 后台以 json 格式传输数据 
} else { 
$.SelectReset(target.data("nextSelect")); 
} 
}); 
}); 
}; 
})(jQuery);
Javascript 相关文章推荐
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
easyui validatebox验证
Apr 29 Javascript
详细谈谈AngularJS的子级作用域问题
Sep 05 Javascript
Javascript typeof与instanceof的区别
Oct 18 Javascript
node.js文件上传处理示例
Oct 27 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
Mar 03 Javascript
JavaScript实现数字前补“0”的五种方法示例
Jan 03 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
Mar 10 Javascript
Vue路由 重定向和别名的区别说明
Sep 09 Javascript
自己使用js/jquery写的一个定制对话框控件
May 02 #Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 #Javascript
jQuery简单图表peity.js使用示例
May 02 #Javascript
jsPDF导出pdf示例
May 02 #Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
May 02 #Javascript
ExtJS4给Combobox设置列表中的默认值示例
May 02 #Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
May 02 #Javascript
You might like
Protoss热键控制
2020/03/14 星际争霸
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
JavaScript 继承使用分析
2011/05/12 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
基于python socketserver框架全面解析
2017/09/21 Python
Python机器学习之决策树算法
2017/12/22 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
python处理写入数据代码讲解
2020/10/22 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
销售员态度差检讨书
2014/10/26 职场文书
大学生党员个人总结
2015/02/13 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL