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 相关文章推荐
JavaScript CSS修改学习第一章 查找位置
Feb 19 Javascript
JS 仿腾讯发表微博的效果代码
Dec 25 Javascript
详解AngularJS中自定义指令的使用
Jun 17 Javascript
jQuery判断邮箱格式对错实例代码讲解
Apr 12 jQuery
jQuery+PHP+Mysql实现抽奖程序
Apr 12 jQuery
jQuery实现表单动态添加与删除数据操作示例
Jul 03 jQuery
JavaScript引用类型Function实例详解
Aug 09 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
Aug 28 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
Sep 02 Javascript
vue实现百度搜索功能
Dec 28 Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 Javascript
javascript canvas实现简易时钟例子
Sep 05 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 smarty模版引擎中的缓存应用
2009/12/11 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
js验证密码强度解析
2020/03/18 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
人事主管岗位职责
2014/01/30 职场文书
财务会计专业自荐书
2014/06/30 职场文书
整改报告怎么写
2014/11/06 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs