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
Aug 13 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
Jan 04 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
Jul 28 Javascript
JS中捕获console.log()输出的方法
Apr 16 Javascript
JS实现从网页顶部掉下弹出层效果的方法
Aug 06 Javascript
使用javaScript动态加载Js文件和Css文件
Oct 24 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
Jun 12 Javascript
jQuery Ajax使用FormData对象上传文件的方法
Sep 07 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
Oct 27 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
Nov 20 Javascript
详解如何在angular2中获取节点
Nov 23 Javascript
原生JS实现微信通讯录
Jun 18 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 地区分类排序算法
2013/07/01 PHP
php中hashtable实现示例分享
2014/02/13 PHP
php网页病毒清除类
2014/12/08 PHP
php自动获取关键字的方法
2015/01/06 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
短信提示使用 特效
2007/01/19 Javascript
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
Javascript调用C#代码
2011/01/17 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
vue中template的三种写法示例
2020/10/21 Javascript
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
《北大荒的秋天》教学反思
2014/04/14 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
维稳工作承诺书
2015/01/20 职场文书
理解python中装饰器的作用
2021/07/21 Python
Mysql中常用的join连接方式
2022/05/11 MySQL