一.配置樹參數(shù) selectedMulti : true,//可以多選 enable: true ,//顯示復(fù)選框
二.初始化樹(創(chuàng)建樹) function createTree(treeId,dL,dLSize){ var setting=getSetting(); //設(shè)置根節(jié)點數(shù)據(jù) pId:"-1", name:'物資類別', t:'物資類別',open:true}; for(var i=0;i<dLSize;i++){//設(shè)置子節(jié)點數(shù)據(jù) name:dL[i].className+"("+dL[i].classCode+")", $.fn.zTree.init($(treeId), setting, zNodes);

三.選中一開始被選中的(初始化一開始就選了的內(nèi)容) function checkMaterial(){ var classCodes = $("#classCodes").val();//物資編碼 var datalist = classCodes.split(",");//將物資編碼打散成數(shù)組 var treeObj = $.fn.zTree.getZTreeObj("materialTree"); if(datalist!='' &&datalist.length>0){ var nodes=treeObj.getNodes();//獲取所有子節(jié)點 for(var i=0;i<datalist.length;i++){ treeObj.getNodeByParam("classId",datalist[i],null); if(node!=null){//先判斷節(jié)點是否為空 treeObj.checkNode(node,true,true); var parent = node.getParentNode(); if(!parent.open){//如果父節(jié)點沒有展開則展開父節(jié)點 treeObj.expandNode(parent,true,true);

四.樹的回調(diào)事件(保存選擇的復(fù)選框內(nèi)容) //4.樹的點擊事件回調(diào)函數(shù) function onCheck(event, treeId, treeNode){ var classCodes = $("#classCodes").val();//物資編碼 var classNames = $("#classNames").val();//物資名字 var treeObj = $.fn.zTree.getZTreeObj("materialTree"); if(treeNode.checked){//如果是選中節(jié)點 if(treeNode.isParent){//如果選中的是父節(jié)點(有子節(jié)點的節(jié)點) //獲取選中的父節(jié)點的所有子節(jié)點 var childrenNodes = treeNode.children; for (var i = 0; i < childrenNodes.length; i++) { classCodes+=","+childrenNodes[i].classId; classNames+=","+childrenNodes[i].name; }else{//如果是子節(jié)點(無子節(jié)點的節(jié)點) classCodes += ","+treeNode.classId; classNames += ","+treeNode.name; if(treeNode.isParent){//如果取消的是父節(jié)點(有子節(jié)點的節(jié)點) //獲取消的父節(jié)點的所有子節(jié)點 var childrenNodes = treeNode.children; for (var i = 0; i < childrenNodes.length; i++) { var classCode=","+childrenNodes[i].classId; var className=","+childrenNodes[i].name; //刪除取消的節(jié)點對應(yīng)的數(shù)據(jù) classCodes=classCodes.replace(classCode, ""); classNames=classNames.replace(className, ""); }else{//如果是子節(jié)點(無子節(jié)點的節(jié)點) classCode = ","+treeNode.classId; className = ","+treeNode.name; //刪除取消的節(jié)點對應(yīng)的數(shù)據(jù) classCodes=classCodes.replace(classCode, ""); classNames=classNames.replace(className, ""); $("#classCodes").val(classCodes); $("#classNames").val(classNames);
五.保存所選內(nèi)容 function saveMaterial(inputName){ var $input=parent.$("input[name="+inputName+"]"); var className=$("#classNames").val(); var classCode=$("#classCodes").val(); var classNames=className.substring(1,className.length+1); var classCodes=classCode.substring(1,classCode.length+1); $input.attr("classCodes",classCodes); $input.next().val(classCodes);
六.關(guān)閉彈窗 function closeMaterial(){
|