jQuery实现的多选框多级联动插件
2019/6/29 22:37:50
本文主要是介绍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);
// 记录默认选项(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);
复制代码 代码如下:
// 使用:$(_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);
这篇关于jQuery实现的多选框多级联动插件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-06jquery对css样式(jquery中的css方法)-icode9专业技术文章分享
- 2023-05-27JQuery的认识和安装
- 2023-01-06JQuery应用技巧:如何定义 HTML 模板并使用 JQuery 进行加载-icode9专业技术文章分享
- 2022-09-29复习-jQuery
- 2022-09-04Python3项目初始化10-->前端基础jquery、ajax,sweetalert--更新用户改造
- 2022-08-30day 27 jquery
- 2022-08-29jQuery筛选器,bootstrap
- 2022-08-20JQuery事件绑定
- 2022-08-20JQuery案例
- 2022-08-07关于jQuery的学习