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兼容性测试实例
Jul 01 Javascript
JS获取当前日期时间并定时刷新示例
Mar 04 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
Aug 07 Javascript
D3.js实现柱状图的方法详解
Sep 21 Javascript
JS常见算法详解
Feb 28 Javascript
Vue.js实现图片的随意拖动方法
Mar 08 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
May 21 Javascript
js+css实现全屏侧边栏
Jun 16 Javascript
原生js 实现表单验证功能
Feb 08 Javascript
Moment的feature导致线上bug解决分析
Sep 23 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
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
PHP如何使用Memcached
2016/04/05 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
BootStrap selectpicker
2016/06/20 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
python3 logging日志封装实例
2020/04/08 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
HTML5 与 XHTML2
2008/10/17 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
我的梦想演讲稿
2014/04/30 职场文书
反邪教教育心得体会
2016/01/15 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL