zTree3.5.44,最近的版本都一样
(function ($) {
var DEFAULTS = {
view: {
dblClickExpand: false,
showLine: true,
selectedMulti: false,
showIcon: false,
fontCss: function (treeId, treeNode) {
return (!!treeNode.highlight) ? {color: "#17a2b8", "font-weight": "bold"} : {
color: "#333",
"font-weight": "normal"
};
}
}
};
$.fn.zTree3544 = function (option) {
return zTree3544Adapter(this, option);
}
var zTree3544Adapter = function (ele, options) {
this.element = ele;
this.url = options.url;
this.type = options.type || "POST";
this.pIdKey = options.pIdKey || "pId";
this.eventOption = {
async: {
dataFilter: function (treeId, parentNode, responseData) {
return options.dataStructureFilter(treeId, parentNode, responseData);
}
},
callback: {
onAsyncSuccess: function (event, treeId, node, msg) {
options.success(event, treeId, JSON.parse(msg), msg);
},
onAsyncError: function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {
options.error(event, treeId, node, XMLHttpRequest, textStatus, errorThrown);
},
onCollapse: function (event, treeId, node) {
//节点被折叠的事件回调函数
},
onExpand: function (event, treeId, node) {
//节点被展开的事件回调函数
},
onClick: function (srcEvent, treeId, node, clickFlag) {
//节点被点击的事件回调函数
},
onCheck: function (event, treeId, node) {
//捕获 checkbox / radio 被勾选 或 取消勾选的事件回调函数
}
}
}
this.options = $.extend(true, DEFAULTS, {
async: {
enable: true,
url: this.url,
type: this.type,
},
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: this.pIdKey,
rootPId: ""
}
}
}, this.eventOption, options);
var _allzt = $.fn.zTree.init(this.element, this.options);
return {
reAsyncRefresh: function (node) {
//node不填刷新整个树
_allzt.reAsyncChildNodes(node || null, "refresh");
},
defaultCheck: function () {
var _nodes = _allzt.transformToArray(_allzt.getNodes());
if (_nodes.length > 0) {
_allzt.checkNode(_nodes[0], true, true);
return _nodes[0];
}
},
checkNode: function (node) {
if (node != null) {
_allzt.checkNode(node, true, true);
}
},
unCheckRadioNode: function () {
var nodes = _allzt.getCheckedNodes();
if(nodes!=null && nodes.length >0){
_allzt.checkNode(nodes[0], false, true);
}
},
checkNodes: function (nodes) {
if ((nodes || []).length > 0) {
for (var i = 0, l = nodes.length; i < l; i++) {
_allzt.checkNode(nodes[i], true, true);
}
}
},
checkNodeById: function (id) {
if (id != null) {
var node = _allzt.getNodeByParam("id", id);
if (node != null) {
_allzt.checkNode(node, true, true);
}
}
},
checkNodesByIds: function (ids) {
if ((ids || []).length > 0) {
for (var i = 0, l = ids.length; i < l; i++) {
var node = _allzt.getNodeByParam("id", ids[i]);
if (node != null) {
_allzt.checkNode(node, true, true);
}
}
}
},
checkAllNodes: function (bool) {
return _allzt.checkAllNodes(bool);
},
defaultSelect: function () {
var _nodes = _allzt.transformToArray(_allzt.getNodes());
if (_nodes.length > 0) {
_allzt.selectNode(_nodes[0], true, true);
return _nodes[0];
}
},
selectNode: function (node) {
if (node != null) {
_allzt.selectNode(node, true, true);
}
},
selectNodeById: function (id) {
if (id != null) {
var node = _allzt.getNodeByParam("id", id);
if (node != null) {
_allzt.selectNode(node, true, true);
}
}
},
selectNodes: function (ids) {
if ((ids || []).length > 0) {
for (var i = 0, l = ids.length; i < l; i++) {
var node = _allzt.getNodeByParam("id", ids[i]);
if (node != null) {
_allzt.selectNode(node, true, true);
}
}
}
},
getCheckedNodes: function () {
return _allzt.getCheckedNodes(true);
},
getNodes: function () {
var _nodes = _allzt.transformToArray(_allzt.getNodes());
if (_nodes.length > 0) {
return _nodes;
} else {
return [];
}
},
setChkDisabled: function (node) {
if (node != null) {
_allzt.setChkDisabled(node, true);
}
},
getNodesByLevel: function (level) {
// 默认展开一级节点
var nodes = _allzt.getNodesByParam("level", level || 0);
for (var i = 0; i < nodes.length; i++) {
_allzt.expandNode(nodes[i], true, false, false);
}
},
getNodeById: function (id) {
var node = _allzt.getNodeByParam("id", id);
return node;
},
cancelSelectedNode: function (node) {
if (node != null) {
_allzt.cancelSelectedNode(node);
} else {
_allzt.cancelSelectedNode();
}
}
}
}
})(window.jQuery);
var pId = "";
var mt = $("#menu_tree").zTree3544({
url: "/menu/getTree",
pIdKey: "pid",
dataStructureFilter: function (treeId, parentNode, responseData) {
for(var i=0;i