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 相关文章推荐
jQuery模拟物体自由落体运动(附演示与demo源码下载)
Jan 21 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
Jan 21 Javascript
浅析JavaScript作用域链、执行上下文与闭包
Feb 01 Javascript
详解webpack+es6+angular1.x项目构建
May 02 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
Jun 16 Javascript
老生常谈ES6中的类
Jul 31 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
Oct 20 Javascript
php 解压zip压缩包内容到指定目录的实例
Jan 23 Javascript
浅析Vue中method与computed的区别
Mar 06 Javascript
JS实现的文件拖拽上传功能示例
May 21 Javascript
浅谈vue父子组件怎么传值
Jul 21 Javascript
微信小程序签到功能
Oct 31 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
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
js表格分页实现代码
2009/09/18 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
Python使用MONGODB入门实例
2015/05/11 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
Python如何绘制日历图和热力图
2020/08/07 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
会计毕业生自荐信
2013/11/21 职场文书
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
酒店管理求职信
2014/06/09 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
2014教师年度工作总结
2014/11/10 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
父亲去世追悼词
2015/06/23 职场文书
军训新闻稿范文
2015/07/17 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis
MSSQL基本语法操作
2022/04/11 SQL Server
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript