jQuery实现的多选框多级联动插件
作者:小满时间:2026-10-29 00:30:37浏览:642
本文介绍一个基于jQuery的多选框多级联动插件。通过自定义jQuery插件方法autoSelect,实现前端选择框之间的级联更新。代码展示了如何使用get方法传输选中值,后台返回JSON格式数据,并动态加载选项。
jQuery多选框联动插件概述
这是一个基于 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);
// 记录默认选项(首个 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);作者最新文章
JS空字符串、null和undefined转数字的结果是什么
2026-11-05 14:49:16
CodePen、JSFiddle与StackBlitz:主流JS在线编辑器对比
2026-11-05 13:38:29
JS怎么将时间戳转换为“刚刚”、“几分钟前”等相对时间
2026-11-05 12:55:14
JavaScript将儒略日逆向还原为公历日期时间的实现方法
2026-11-04 23:51:05
能在我的世界手机版直接修改JS代码吗
2026-11-04 19:02:53
