首頁  >  文章  >  web前端  >  無限樹Jquery插件zTree的常用功能特性總結_jquery

無限樹Jquery插件zTree的常用功能特性總結_jquery

WBOY
WBOY原創
2016-05-16 16:36:231257瀏覽

其實Ztree官網已經有詳細的API文檔,一切以官網上的說明為準,我在此只是結合實踐總結幾條常用的ztree的功能特性.

(ztree的語法結構是基於key-value的形式配置)

1:支援非同步載入資料

語法配置:

async: {
enable: true, 

url:'abc.ashx',

otherParam: { "request": "requestname" }

}

簡單說明:

enable :設定 zTree 是否開啟非同步載入模式.

url:Ajax 取得資料的 URL 位址.

otherParam:Ajax 請求提交的靜態參數鍵值對.相當於ajax中的data參數.

2:載入資料並綁定,一般都是定義資料結構實體即model,此資料結構要包含層級關係通常包括:ID,父ID,Name.

然後設定語法:

data: {
simpleData: {
enable: true
}
}

data: {
key: {
children: "childrens",

checked: "IsChecked"
}
}

簡單說明:

simpleData:即可採用陣列作為資料來源綁定.此時非同步載入的資料可為平行結構.

children: 指定節點資料中保存子節點資料的屬性名稱,此時非同步載入的資料為樹的折疊結構;所以後端載入資料時要使用遞迴演算法.

3:支援單選,複選功能

語法配置:

check: {
enable: true,
chkStyle: "checkbox",
radioType: "all"
chkboxType:{ "Y": "", "N": "" }
},

data: {
key: {

checked: "IsChecked"
}
}

簡單說明:

enable:設定 zTree 的節點上是否顯示 checkbox / radio

chkStyle:勾選框類型(checkbox 或 radio)

radioType:radio 的分組範圍

chkboxType:勾選 checkbox 對於父子節點的關聯關係

checked:為載入資料後複選框是否勾選.IsChecked為後端資料結構model中定義的欄位.

4:支援新增子節點,編輯節點,刪除節點事件

我在這裡介紹如何採用自訂添加,編輯,刪除按鈕的方式

語法配置:

view: {
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom
 }

其中addHoverDom 函數為:

function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if ($("#addBtn_" + treeNode.id).length > 0) return;
var str= "<a id='addBtn_" + treeNode.id + "' onclick='自定义函数1(" + treeNode.DepartmentID + ")'>添加子节点</a>";
str+= "<a id='addBtn1_" + treeNode.id + "' onclick='自定义函数2(" + treeNode.DepartmentID + ")'>编辑节点</a>";
str+= "<a id='addBtn2_" + treeNode.id + "' onclick='自定义函数3(" + treeNode.DepartmentID + ")'>删除节点</a>";
sObj.after(str);
};

其中removeHoverDom函數為:

function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.id).unbind().remove();
$("#addBtn1_" + treeNode.id).unbind().remove();
$("#addBtn2_" + treeNode.id).unbind().remove();
 };

簡單說明:

addHoverDom:用於當滑鼠移動到節點上時,顯示使用者自訂控件,顯示隱藏狀態同 zTree 內部的編輯、刪除按鈕

removeHoverDom:用於當滑鼠移出節點時,隱藏使用者自訂控件,顯示隱藏狀態同 zTree 內部的編輯、刪除按鈕

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn