應上級要求,項目的樹列表要用ztree,那就服從命令吧。node
var zTree; var setting = { view: { dblClickExpand: false, //雙擊節點時,是否自動展開父節點的標識 showLine: true, //設置ztree是否顯示節點之間的連線 selectedMulti: false, //設置是否容許同時選中多個節點 }, check: { enable: true //設置ztree的節點是否顯示checkbox/radio }, data: { simpleData: { enable:true, //是否使用簡單數據模式 idKey: "id", //節點數據中保存惟一標識的屬性名稱 pIdKey: "p_id", //節點數據中保存其父節點惟一標識的屬性名稱 rootPId: "" //用於修正根節點父節點的數據,即pIdKey指定的屬性值 } }, callback: { onClick:function (e,treeId,treeNode,clickFlag) { //用於捕捉勾選時觸發 zTree.checkNode(treeNode,!treeNode.checked,true);//勾選或取消勾選單個節點 } } };
var zNodes ; var select; var selectarry=[]; //要勾選的id var allnodes; var t = $("#tree"); $.ajax({ type: "POST", url: "...",//請求的後臺地址 data: "name=John&location=Bpston",//前臺傳給後臺的參數 dataType:"json", ansync:false, ContentType: "application/json; charset=utf-8", success: function(msg){ //msg:返回值 // alert( msg.data ); zNodes=msg.data.list; zNodes=eval(zNodes); //zNodes=JSON.stringify(zNodes); //console.log(zNodes); //alert(zNodes) t = $.fn.zTree.init(t, setting, zNodes); var zTree2 = $.fn.zTree.getZTreeObj("tree"); selectarry=msg.data.nodes.split(","); allnodes=zTree2.getNodes(); for(select=1;select<selectarry.length;select++) { allnodes[select]=msg.data.list[select]; } console.log(allnodes); //console.log(selectarry); for(select=0;select<selectarry.length;select++) { zTree2.checkNode(zTree2.getNodesByParam("id",selectarry[select])[0],true); } } });
附展開、摺疊、勾選、取消所有節點的方法ajax
//展開和摺疊 $("#ztreeExpandAll").click(function () { $.fn.zTree.getZTreeObj("tree").expandAll(true); }); $("#ztreeUnExpandAll").click(function () { $.fn.zTree.getZTreeObj("tree").expandAll(false); }); //勾選所有或取消所有 var clicknumber=1; $("#checkall_deafult").click(function () { if(clicknumber%2>0) { // var treeObj = $.fn.zTree.getZTreeObj("tree"); zTree.checkAllNodes(true); } else { // var treeObj = $.fn.zTree.getZTreeObj("tree"); zTree.checkAllNodes(false); } clicknumber++; });