多级 checkbox 父子类关联勾选

场景

设定用户组的时候需要勾选节点,多级节点的情况很多

解决

jq使用 1.6 左右的。
jqery.checktree.js
;
(function (win, doc, $) {
	$.fn.extend({
		checktree : function () {
			this.click(function (evt) {
				var evtEle = $(evt.target).closest("input:checkbox");
				if (!evtEle[0]) {
					return;
				}
				//check child all
				evtEle.parent().next(".checks").find("input:checkbox").attr("checked", evtEle[0].checked);

				//check parent
				if (evtEle.is("input:checked")) {
					evtEle.parents(".checks").each(function () {
						!$(this).children("p").children("input:checkbox").filter(function () {
							return !this.checked;
						})[0] && $(this).prev().children("input:checkbox").attr("checked", "checked");
					});
				} else {
					evtEle.parents(".checks").prev().children("input:checkbox").attr("checked", false);
				}
			});
		}
	});
})(window, document, jQuery);




checkTree



一级

二级

三级

三级

三级

四级

五级

五级

六级

六级

四级

二级

二级

三级

四级

四级

三级

三级

二级

二级

三级

三级

四级

四级

三级

二级






你可能感兴趣的:(前端技术)