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 相关文章推荐
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
Nov 11 Javascript
关于js类的定义
Jun 28 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
jquery常用函数与方法汇总
Sep 01 Javascript
前端框架Vue.js中Directive知识详解
Sep 12 Javascript
浅谈js的解析顺序 作用域 严格模式
Oct 23 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
Jun 01 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
Jul 13 Javascript
tracking.js实现前端人脸识别功能
Apr 16 Javascript
vue中touch和click共存的解决方式
Jul 28 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面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php session安全问题分析
2011/06/24 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
多版本Python共存的配置方法
2017/05/22 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
Shell如何接收变量输入
2012/09/24 面试题
大学毕业后的十年规划
2014/01/07 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
大课间体育活动方案
2014/03/12 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
小学三年级学生评语
2014/04/22 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
降价通知函
2015/04/23 职场文书
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技