久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

php ztree如何實現增 刪 改

php ztree增刪改的實現方法:1、通過“addHoverDom”等方法實現增加ztree節點;2、通過“onRemove”回調函數實現刪除節點;3、使用“onRename”方法實現修改節點。

php ztree如何實現增 刪 改

推薦:《PHP視頻教程》

一直以來,項目中用到的樹形結構,都是用來讀取顯示數據、或者控制頁面上其它內容的展示。對于樹數據源的修改,一般由其它模塊來完成,這樣可以讓功能單一化,不必讓樹的職責過多,但是卻不得不再多加一步了。為了給用戶提供最大的便利,省去這一步的麻煩,我們可以利用它的圖標增刪改功能,這樣可以給用戶最大的選擇余地,也會讓我們的系統更加的靈活。

一、簡述

在做之前,先簡單介紹下我們要實現的功能。首先,增刪改查是對數據源的四大操作,這也就是我們要給tree添加的東西了?!安樵儭痹诩虞dtree的時候已經實現了,剩下的分別是:增加、刪除、修改,對它們的實現流程就是:

1.在加載完tree以后,當鼠標移動到tree節點上時,自動加載增刪改按鈕

2.這三個按鈕分別控制tree節點的增刪改功能

3.當鼠標移出tree節點且該節點未被選中時,按鈕消失。

php ztree如何實現增 刪 改

二、增加ztree節點

鼠標在tree上的移動事件,分別由tree的移入、移出屬性負責,我們可以在定義tree的時候就綁定好,分別是addHoverDom、removeHoverDom,增加事件就寫在了addHoverDom中

//樹屬性的定義 var setting = {     //頁面上的顯示效果     view: {         addHoverDom: addHoverDom, //當鼠標移動到節點上時,顯示用戶自定義控件         removeHoverDom: removeHoverDom, //離開節點時的操作         fontCss: getFontCss //個性化樣式     },     edit: {         enable: true, //單獨設置為true時,可加載修改、刪除圖標         editNameSelectAll: true,         showRemoveBtn: showRemoveBtn,         showRenameBtn: showRenameBtn     },     data: {         simpleData: {             enable:true,             idKey: "id",             pIdKey: "pId",             system:"system",             rootPId: ""         }     },     callback: {         onClick: zTreeOnClick, //單擊事件         onRemove: onRemove, //移除事件         onRename: onRename //修改事件     } };

addHoverDom,當鼠標移動到節點上時,顯示用戶自定義控件,與setting.view.removeHoverDom同時使用。增加節點的思路如下:

1.創造一個節點

該節點的名稱可暫時命名為“NewNode”,該節點的pId是我們鼠標所在節點的id,如果還有其它信息也可以在這里定義或作其它限制

2.將節點信息添加到數據庫,并返回新添加數據的id

(返回id,主要是針對數據庫表的主鍵是自增長類型的,如果主鍵是guid或者有命名規則的,就不用獲取返回數據了)

3.將新節點添加到tree上,也就是我們能看到的頁面上的添加效果

4.讓新節點處于選中狀態,這里也可以設置為處于修改狀態,具體的隨個人情況

function addHoverDom(treeId, treeNode) {     var sObj = $("#" + treeNode.tId + "_span"); //獲取節點信息     if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;      var addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='add node' οnfοcus='this.blur();'></span>"; //定義添加按鈕     sObj.after(addStr); //加載添加按鈕     var btn = $("#addBtn_"+treeNode.tId);      //綁定添加事件,并定義添加操作     if (btn) btn.bind("click", function(){         var zTree = $.fn.zTree.getZTreeObj("tree");         //將新節點添加到數據庫中         var name='NewNode';         $.post('./index.php?r=data/addtree&pid='+treeNode.id+'&name='+name,function (data) {             var newID = data; //獲取新添加的節點Id             zTree.addNodes(treeNode, {id:newID, pId:treeNode.id, name:name}); //頁面上添加節點             var node = zTree.getNodeByParam("id", newID, null); //根據新的id找到新添加的節點             zTree.selectNode(node); //讓新添加的節點處于選中狀態         });     }); };

removeHoverDom執行銷毀功能,消除由addHoverDom帶給我們的操作,雖然addHoverDom已經實現了我們的功能,但是若沒有它來回收addHoverDom創造的成果,我們的頁面就會加載出來一堆無效按鈕,所以說加減平衡還是很重要的

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

沒有removeHoverDom功能的效果如下,如果把其它按鈕也移到addHoverDom中定義,這里的無效按鈕就不止一個添加了……

php ztree如何實現增 刪 改

三、修改節點

修改節點在定義tree的時候已經做了綁定,我們可以直接寫修改的函數,如果想和增加節點一樣在addHoverDom中綁定也可以(記得在removeHoverDom中銷毀)。修改節點相對來說比較容易,在tree上最直觀的的就是nodeName了,所以我們只說修改名稱的部分,如果還需要修改其它數據,可以用彈出框等來完成,這里就不羅嗦了。

function onRename(e, treeId, treeNode, isCancel) {     //需要對名字做判定的,可以來這里寫~~     $.post('./index.php?r=data/modifyname&id='+treeNode.id+'&name='+treeNode.name); }

效果如下:

php ztree如何實現增 刪 改

其實修改節點還有beforeRename的回調函數,常常把對修改數據的判定放在這里,如果定義了這個函數,則只有在返回true時,onRename事件回調函數才會被觸發。

定義:

var setting = { 	edit: { 		enable: true 	}, 	callback: { 		beforeRename:  eforeRename 	} };

beforeRename函數:

function beforeRename(treeId, treeNode, newName, isCancel) {     if (newName.length == 0) {         alert("節點名稱不能為空.");         return false;     }     return true; }

四、刪除節點

刪除節點由onRemove回調函數操作,具體的是否可刪除、有無子節點以及將該節點刪除后對子節點需進行什么操作,可在這里完成

function onRemove(e, treeId, treeNode) {     //需要對刪除做判定或者其它操作,在這里寫~~     $.post('./index.php?r=data/del&id='+treeNode.id); }

與修改節點的beforRename相同,刪除節點也有一個作用相同的函數,若定義了它,則只有在返回為true時,onRemove事件回調函數才會被觸發。

function beforeRemove(treeId, treeNode) {     var zTree = $.fn.zTree.getZTreeObj("tree");     zTree.selectNode(treeNode);     return confirm("確認刪除 節點 -- " + treeNode.name + " 嗎?"); }

小結:

ztree的增刪改是樹結構動態加載圖標的一個例子,它更重要的是實現了一種“無處不按鈕”的思路,在最大程度上想用戶所想,為其提供足夠的便利。如果我們想以這種方式實現其它功能,也不失為一種好的選擇。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
欧美日韩一区二区三区视频播放| 欧美精品91| 日韩国产91| 91亚洲精品在看在线观看高清| 日本一区二区三区视频在线看| 久久成人一区| 亚洲久草在线| 清纯唯美亚洲综合一区| 色8久久久久| 日韩精品福利一区二区三区| 日韩成人在线看| 国产乱子精品一区二区在线观看| 欧美午夜网站| 老司机免费视频一区二区三区| 国产精品乱战久久久| 久久av网站| www在线观看黄色| 久久久久久婷| 欧美二区视频| 免费视频一区二区| 日本色综合中文字幕| 久久99久久久精品欧美| 激情国产在线| 亚洲一区网站| 91av一区| 精品国产亚洲一区二区三区大结局| 国产在线看片免费视频在线观看| 欧美日韩视频免费观看| 不卡中文字幕| 日韩精品一区二区三区中文字幕| 欧美激情99| 99久久精品网| 中文欧美日韩| 国产视频网站一区二区三区| 日韩av免费大片| 亚洲激情久久| 欧美在线看片| 中文在线а√在线8| 精品在线91| 97久久中文字幕| 91欧美日韩| 精品国产乱码久久久久久樱花 | 日韩欧美网址| 久久av在线| 日韩美女精品| 国产欧美一区二区精品久久久| 日本不卡的三区四区五区| 激情视频一区二区三区| 国产乱码午夜在线视频| 国产美女久久| 精品国产亚洲日本| 国产精品久久久久久模特 | 91av亚洲| 国产探花在线精品一区二区| 日韩国产欧美一区二区三区| 狠狠爱成人网| 电影亚洲精品噜噜在线观看| 日韩在线短视频| 五月天av在线| 欧美有码在线| 亚洲bt欧美bt精品777| 欧美日韩黄网站| 久久久久国产精品一区三寸| 欧美成人午夜| 国产日韩一区| 99久精品视频在线观看视频| 亚洲精品欧美| 91精品久久久久久久久久不卡| 亚洲精品欧美| 日韩精品欧美| 欧美日韩 国产精品| 私拍精品福利视频在线一区| 欧美久久久网站| 精品三区视频| 成午夜精品一区二区三区软件| 成人国产精品| 99精品在线观看| 精品一区免费| 免费在线观看不卡| 日韩午夜一区| 国产精品地址| 日韩精品一区第一页| 97在线精品| 国产精品一区二区免费福利视频| 一区二区自拍| 精品五月天堂| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美日韩免费观看视频| 久久国产三级| 亚洲综合中文| 欧美日韩激情| av综合电影网站| 日韩在线观看| 久久亚洲一区| 蜜臀91精品一区二区三区| 国产精品a级| 日本欧美在线看| 在线手机中文字幕| 国产福利一区二区精品秒拍 | 日韩欧美精品一区| 国产精品久久久久久久久久齐齐 | 欧美成a人片免费观看久久五月天| 日本一不卡视频| 美女精品一区| 99综合视频| 欧美成a人免费观看久久| 国产激情久久| 国产精品久久久久久妇女| 日韩激情网站| 日产欧产美韩系列久久99| 石原莉奈一区二区三区在线观看| 蜜臀av免费一区二区三区| 日本精品在线中文字幕| 日韩av有码| 精品香蕉视频| 精品国产乱码久久久| 久久精品亚洲| 麻豆高清免费国产一区| 久久精品福利| 久久久久久一区二区| 国产精品亚洲四区在线观看| 日韩中文字幕一区二区高清99| 日韩精品一级二级| 亚洲专区在线| 丝袜亚洲精品中文字幕一区| 亚洲欧美日韩专区| 欧美日韩国产免费观看| 制服诱惑一区二区| 一区二区三区午夜视频| 亚洲精品进入| 欧美亚洲专区| 国产精品亚洲产品| 美女av一区| 精品一区二区三区中文字幕| 福利片在线一区二区| 精品九九久久| 国产美女高潮在线| 激情丁香综合| 免费精品视频| 日韩高清在线不卡| 欧美亚洲tv| 久久精品五月| 欧美日韩尤物久久| 在线亚洲国产精品网站| 免费欧美在线视频| 欧美一区网站| 老司机免费视频一区二区| 在线看片国产福利你懂的| 亚洲一级影院| 亚洲精品系列| 久久99精品久久久久久园产越南 | 久久精品国产网站| 国产日韩电影| 婷婷六月综合| 天堂久久av| 精品99在线| 欧美午夜不卡| 日韩福利视频一区| 精品视频91| 黄色不卡一区| 亚洲欧洲国产精品一区| 久久国产三级精品| 日韩大片在线观看| 欧美日韩四区| 久久精品凹凸全集| 日韩啪啪电影网| 免费人成网站在线观看欧美高清| 国产情侣久久| 久久激情网站| 亚洲va久久| 福利片在线一区二区| 亚洲深爱激情| 国产精品啊v在线| 欧美成人亚洲| 国产精品亚洲欧美日韩一区在线| 久久国产中文字幕| 69堂精品视频在线播放| 国产成人精品免费视| 午夜在线一区二区| 久久精品欧洲| 999在线观看精品免费不卡网站| 日本午夜精品久久久久| 伊人久久在线| 蜜臀a∨国产成人精品| 久久精品一本| 免播放器亚洲| 久久久久久色 | 欧美搞黄网站| 久久狠狠久久| 欧美在线网站| 国产亚洲一卡2卡3卡4卡新区| 久久久9色精品国产一区二区三区| 91麻豆精品激情在线观看最新 | 久久久亚洲一区| 日韩不卡在线观看日韩不卡视频| | 成年男女免费视频网站不卡| 一区二区三区四区日韩| 日韩免费久久| 日韩国产欧美在线播放|