一、顯示ztree 的節點
1,前台轉換顯示 :
<div>
<ul id="tree" class="ztree"></ul>
</div>
通過jquery ajax 獲得節點集合: nodelist
將資料轉換成指定格式:
var treeNodes = [];
for(var i = 0; i < nodelist.length; i++){
treeNodes.push({id:nodelist[i].bm, parentId:nodelist[i].sjbm, name:nodelist[i].mc,open: ((nodelist[i].sjbm=='0000000') ? true : false),
tag:result[i]});
}
$.fn.zTree.init($("#tree"),selectionSetting, treeNodes);(selectionSetting 的定義省略)
2,後台轉換顯示:
代碼:
/**
* 將科目資料轉化成json格式的資料用於樹控制項
*/
public String getsubjectAll() {
JSONArray jsonArr = new JSONArray();
try {
List<HdzxKm> subjects = subjectDao.getSubjectAll();
for (HdzxKm subject : subjects) {
JSONObject json = new JSONObject();
json.put("id", subject.getBm());
json.put("name", subject.getMc());
if如果是父級){
json.put("open", false);
}
json.put("parentId", subject.getSjbm());
jsonArr.add(json);
}
} catch (Exception e) {
e.printStackTrace();
}
return jsonArr.toString();
}
前台獲得該方法返回的資料,就不用轉換直接:
$.fn.zTree.init($("#tree"),selectionSetting, treeNodes);(selectionSetting 的定義省略)
treeNodes 為後台返回的資料
二、根據節點的id選中指定節點
var treeObj = $.fn.zTree.getZTreeObj("tree");
treeObj.selectNode(treeObj.getNodeByParam("id","000000000000", null));000000000000:節點Id的值)
三、自訂修改節點的名稱根據節點id值)
var treeObj = $.fn.zTree.getZTreeObj("tree");
var node = treeObj.getNodeByParam("id", id的值, null);
node.name="xxxxx";
treeObj.updateNode(node,true);(此處為更新節點值,此步不能省)
四、新增節點
var treeObj = $.fn.zTree.getZTreeObj("tree");
var node = treeObj.getNodeByParam("id", xxx, null);
treeObj.addNodes(node, {id :xxx,parentId :xxx,name : xxx});
五、有複選框是,選中指定節點
var zTree =$.fn.zTree.getZTreeObj("tree");
var node=zTree.getNodeByParam("id",id值, null);
zTree.checkNode(node);
本文出自 “逍遙求敗” 部落格,請務必保留此出處http://6355601.blog.51cto.com/6345601/1299014