近些天接的項目用的是layui。之前沒用過,踩了不少坑,坑就很少說了,直接說layui的tree。由於自帶的tree不知足需求,因此在論壇、博客上找了好久終於找到了能夠複選的的插件,原文地址:https://blog.csdn.net/xianglikai1/article/details/79032278。這裏謝謝原做者,從源碼中學到了不少。json
這裏我就直接上代碼了。(注:由於數據結構問題我將源碼中的json數據結構title改成id,value改成name。勾選樹的獲取值未變:data.value)數據結構
//建立tree var xtree = new layuiXtree({ elem: xTree' //放xtree的容器(必填) , form: form //layui form對象 (必填) , data: json //數據,結構請參照下面 (必填) , isopen: true //初次加載時所有展開,默認true (選填) , checked: true , ischecked: deptIds //初次加載勾選的數據。格式(a,b,c) , single: single//是否爲單選 ,默認爲false(多選) , ckall: false //啓用全選功能,默認值:false , color: "#039adf " //圖標顏色 (選填) , icon: { //圖標樣式 (選填) open: "" //節點打開的圖標 , close: "" //節點關閉的圖標 , end: "" //末尾節點的圖標 } , click: function (data) { //節點選中狀態改變事件監聽,全選框有本身的監聽事件 //console.log(data.elem.leaf);//是否爲葉子節點 //console.log(data.elem); //獲得checkbox原始DOM對象 //console.log(data.elem.checked); //開關是否開啓,true或者false //console.log(data.value); //開關value值,也能夠經過data.elem.value獲得 //console.log(data.othis); //獲得美化後的DOM對象 } });
ischecked:初次加載勾選的數據。格式(a,b,c)。場景用於一些修改信息反勾選的;
single:true單選、false多選。(注:因場景要求我把父子關聯渲染註釋掉了)
另外在項目過程當中,有一處須要CheckBox框與title分開,作成兩個點擊事件。我暫時屏蔽了。若是須要就改一下,而後在from,裏面用jQuery獲取span標籤。記住一點要在from裏面,否則沒效果。
改動的js文件地址:連接:https://pan.baidu.com/s/1iHYIEKeI3eVkFa6O8BCMwg 密碼:g31r。
效果圖就不上了,其實就是想給你們分享下,本身作個筆記,額,哈哈。。。再次謝謝原做者!