ztree选复选框事件、ztree
var setting = {
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "s", "N": "ps" }
},
data: {
simpleData: {
enable: true
}
},
callback: {
beforeCheck: beforeCheck,
onCheck: onCheck
},
view: {
showIcon: false,
selectedMulti: false
}
};
var zNodes =[
{ id:1, pId:0, name:"矢量数据",open:true,checked:true},
{ id:11, pId:1, name:"面",checked:true},
{ id:12, pId:1, name:"线",checked:true},
{ id:13, pId:1, name:"点",checked:true}
];
var log;
function beforeCheck(treeId, treeNode) {
showLog(treeNode.name + "(选择前)");
return (treeNode.doCheck !== false);
}
function onCheck(e, treeId, treeNode) {
showLog(treeNode.name + "(选择后)");
if(treeNode.checked){
if(treeNode.pId == null){
}else{
}
}else{
if(treeNode.pId == null){
}else{
}
}
}
function showLog(str) {
if (!log) log = $("#log");
log.append("<li>"+str+"</li>");
if(log.children("li").length > 6) {
log.get(0).removeChild(log.children("li")[0]);
}
}
function checkNode(e) {
var zTree = $.fn.zTree3.getZTreeObj("treeMultiple"),
type = e.data.type,
zNodes = zTree.getSelectedNodes();
if (type.indexOf("All")<0 && zNodes.length == 0) {
alert("请先选择一个节点");
}
if (type == "checkAllTrue") {
zTree.checkAllNodes(true);
} else if (type == "checkAllFalse") {
zTree.checkAllNodes(false);
} else {
var callbackFlag = $("#callbackTrigger").attr("checked");
for (var i=0, l=zNodes.length; i<l; i++) {
if (type == "checkTrue") {
zTree.checkNode(zNodes[i], true, false, callbackFlag);
} else if (type == "checkFalse") {
zTree.checkNode(zNodes[i], false, false, callbackFlag);
}
}
}
}
$.fn.zTree3.init($("#treeMultiple"), setting, zNodes);
$("#checkTrue").bind("click", {type:"checkTrue"}, checkNode);
$("#checkFalse").bind("click", {type:"checkFalse"}, checkNode);
$("#checkAllTrue").bind("click", {type:"checkAllTrue"}, checkNode);
$("#checkAllFalse").bind("click", {type:"checkAllFalse"}, checkNode);