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 相关文章推荐
input、button的不同type值在ajax提交表单时导致的陷阱
Feb 24 Javascript
jquery form 隐藏的input 选择
Apr 29 Javascript
jQuery html()方法使用不了无法显示内容的问题
Aug 06 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
May 04 Javascript
一分钟理解js闭包
May 04 Javascript
js控住DOM实现发布微博效果
Aug 30 Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 Javascript
JS库中的Particles.js在vue上的运用案例分析
Sep 13 Javascript
webpack4+react多页面架构的实现
Oct 25 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
Nov 03 Javascript
JavaScript 声明私有变量的两种方式
Feb 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
javascript中常用编程知识
2013/04/08 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
总结python爬虫抓站的实用技巧
2016/08/09 Python
Puppeteer使用示例详解
2019/06/20 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
web页面录屏实现
2019/02/12 HTML / CSS
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
钳工实习自我鉴定
2013/09/19 职场文书
项目开发计划书
2014/01/09 职场文书
项目施工员岗位职责
2014/03/09 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
政风行风整改方案
2014/10/25 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
小爸爸观后感
2015/06/15 职场文书
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android