首先提供Ztree官方網(wǎng)站http://www.ztree.me。
Ztree是一個使用jQuery實現(xiàn)的JSP頁面的各種功能樹,本文介紹一個異步獲取數(shù)據(jù)到下拉樹的實現(xiàn)方式。
當前版本Ztree 3.5.01
simple.html
代碼如下:
<!DOCTYPE html>
<html>
<head>
<title>simple.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/zTreeStyle.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="js/jquery.ztree.excheck-3.5.min.js"></script>
<!-- <script type="text/javascript" src="js/standard.js"></script> -->
<script type="text/javascript" src="js/1.js"></script>
</head>
<body>
<div class="zTreeDemoBackground left"><ul id="treeDemo" class="ztree"></ul></div>
</body>
</html>
js
代碼如下:
var setting = {
data: {
simpleData: {
enable: true
// idKey:"id",
// pIdKey:"pId",
}
}
,async: {
enable: true,
url:"/Java_Solr/servlet/ZTreeSerlvet",
autoParam:["id", "name"],
otherParam:{"otherParam":"zTreeAsyncTest"},
// dataType: "text",//默認text
// type:"get",//默認post
dataFilter: filter //異步返回后經(jīng)過Filter
}
,callback:{
// beforeAsync: zTreeBeforeAsync, // 異步加載事件之前得到相應信息
asyncSuccess: zTreeOnAsyncSuccess,//異步加載成功的fun
asyncError: zTreeOnAsyncError, //加載錯誤的fun
beforeClick:beforeClick //捕獲單擊節(jié)點之前的事件回調函數(shù)
}
};
//treeId是treeDemo
function filter(treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i++) {
childNodes[i].name = childNodes[i].name.replace('','');
}
return childNodes;
}
function beforeClick(treeId,treeNode){
if(!treeNode.isParent){
alert("請選擇父節(jié)點");
return false;
}else{
return true;
}
}
function zTreeOnAsyncError(event, treeId, treeNode){
alert("異步加載失敗!");
}
function zTreeOnAsyncSuccess(event, treeId, treeNode, msg){
}
/***********************當你點擊父節(jié)點是,會異步訪問servlet,把id傳過去*****************************/
var zNodes=[];
/* var zNodes =[
{ id:1, pId:0, name:"parentNode 1", open:true},
{ id:11, pId:1, name:"parentNode 11"},
{ id:111, pId:11, name:"leafNode 111"},
{ id:112, pId:11, name:"leafNode 112"},
{ id:113, pId:11, name:"leafNode 113"},
{ id:114, pId:11, name:"leafNode 114"},
{ id:12, pId:1, name:"parentNode 12"},