Ztree 多選,顯示勾選的路徑

2022-08-14 19:18:13 字數 1223 閱讀 2399

專案要求,需要向後台傳遞已經勾選的路徑,如 l1-a, l1-l3-c,l1-l3-d;(如果是全選狀態則只傳遞全選狀態的路徑,不傳子節點)。

具體可以參考jq  ztree 的 v3.5 版本  

1

var mesetting =,

10edit:

18},

19check: ,

22data:

26},

27callback:

31 };

主要描述oncheck :

1

var treeobj = $.fn.ztree.getztreeobj("treedemo");

2var nodes = treeobj.getcheckednodes(true);3

var oarr = ,narr =,oid;

4 $.each(nodes,function

(index,item)910

if (item.check_child_state == 2 &&item.pid) else

if (item.check_child_state == -1 && item.pid !=oid)

16 });

上面**,oarr 取的是根節點的路徑,narr 取出的是根節點為半選狀態的路徑;

主要遇到乙個坑就是下面要描述的 運用遞迴去 找出我要的路徑結果:

1

function

getfilepath(treenode)

14path.push(newname);

15return filename,oldname = '',newname = '';

16 }

然後 發現這個path 是含有空的乙個陣列,希望大神能給看看上面情況。我處理的是對陣列進行去空了操作

1

//去除陣列中的空值

2function

trimspace(array)11}

12return

array;

13 }

以上僅代表個人在使用這個ztree中碰到多選構造路徑遇到的麻煩。

Ztree勾選節點後取消勾選其父子節點

前言 ztree官方給的api可以設定勾選乙個節點的同時勾選子節點或者父節點,也可以設定不影響父子節點,即將chkboxtype設定為,而有時我們希望實現這樣的功能,點選乙個節點判斷他所有的父節點和子節點,如果有選中的話就取消勾選,這樣的話官方貌似沒有給出有效的解決方案,這篇文章記錄一下我是怎麼解決...

Ztree 載入資料預設不勾選父節點

隨筆記錄,ztree 載入資料子節點全部勾選預設是不勾選父節點,官方說法是不干預使用者資料。而某些場景下我們又需要這樣做,有兩種辦法處理,1 在初始化ztree前處理資料中的checked 2 初始化ztree後利用checknode來處理勾選 本人使用這種 直接上 1 設定父節點勾選狀態 2fun...

勾選之後,刪除對應的資料(可多選刪除)

注釋的部分是原始刪除,通過delete介面刪除。後來改需求為改狀態為刪除的狀態,使該狀態不顯示即可。即為put介面改資料了。方法邏輯 先判斷所勾選資料是否為空 獲取所勾選資料的id資料 彈出確認刪除的彈框 遍歷迴圈刪除 幾條資料已被刪除 加個settimeout定時器來重新整理頁面window.lo...