1. 程式人生 > >【原】無腦操作:EasyUI Tree實現左鍵只選擇葉子節點、右鍵浮動選單實現增刪改

【原】無腦操作:EasyUI Tree實現左鍵只選擇葉子節點、右鍵浮動選單實現增刪改

  1 // 記錄新增還是修改
  2 var flag;
  3 // 臨時儲存選中節點資料
  4 var tempNode;
  5 
  6 // 頁面載入
  7 $(function () {
  8     // 選單樹繫結資料
  9     $('#deptTree').tree({
 10         url: '/department/tree',
 11         animate: true,
 12         lines: true,
 13         onBeforeSelect: function (node) {
 14             //
onBeforeSelect事件:節點被選中前觸發,返回false則取消選擇動作 15 if (!$(this).tree('isLeaf', node.target)) { 16 // 不是葉子節點,則不能選中 17 return false; 18 } 19 }, 20 onClick: function (node) { 21 // alert(node.target.innerText); 22 },
23 onContextMenu: function (e, node) { 24 // 記錄選中的節點,為後續增刪改操作提供節點資料 25 tempNode = node; 26 27 // 阻止右鍵預設事件 28 e.preventDefault(); 29 30 // 判斷該結點有沒有父結點 31 var root = $(this).tree('getParent', node.target); 32
// 沒有父節點則為根結點,可以新增、編輯,不可以刪除 33 if (root == null) { 34 // 如果是根節點,則可以新增、編輯,不可以刪除 35 $('#parentNode').menu('show', { 36 left: e.pageX, 37 top: e.pageY 38 }); 39 } 40 41 if ($(this).tree('isLeaf', node.target)) { 42 // 如果是葉子節點,則可以新增、編輯和刪除 43 $('#leaf').menu('show', { 44 left: e.pageX, 45 top: e.pageY 46 }); 47 } else { 48 // 如果不是葉子節點,則可以新增、編輯,不可以刪除 49 $('#parentNode').menu('show', { 50 left: e.pageX, 51 top: e.pageY 52 }); 53 } 54 } 55 }); 56 57 // 儲存按鈕押下處理 58 $('#btnSave').click(function () { 59 var tempdata, tempurl, tempmsg; 60 61 if (flag == 'add') { 62 tempurl = 'saveNode'; 63 tempmsg = '新增成功!'; 64 tempdata = { 65 departmentpid: tempNode.id, 66 departmentname: $('#treefrm').find('input[name=departmentname]').val() 67 }; 68 } else if (flag == 'edit') { 69 tempurl = 'updateNode'; 70 tempmsg = '編輯成功!'; 71 tempdata = { 72 departmentid: $('#treefrm').find('input[name=departmentid]').val(), 73 departmentpid: $('#deptTree').tree('getParent', tempNode.target).id, 74 departmentname: $('#treefrm').find('input[name=departmentname]').val() 75 }; 76 } 77 78 $.ajax({ 79 type: 'post', 80 async: true, 81 url: tempurl, 82 data: tempdata, 83 dataType: 'json', 84 success: function (result) { 85 // 樹重新載入 86 $('#deptTree').tree('reload'); 87 88 $.messager.show({ 89 title: '提示資訊', 90 msg: tempmsg 91 }); 92 }, 93 error: function (result) { 94 // 請求失敗時執行該函式 95 $.messager.show({ 96 title: '錯誤資訊', 97 msg: result.msg 98 }); 99 } 100 }); 101 102 $('#treefrm').form('clear'); 103 $('#info').dialog('close'); 104 }); 105 106 // 取消按鈕押下處理 107 $('#btnCancel').click(function () { 108 $('#treefrm').form('clear'); 109 $('#info').dialog('close'); 110 }); 111 }); 112 113 // 新增節點 114 var addNode = function () { 115 flag = 'add'; 116 // 清空表單資料 117 $('#treefrm').form('clear'); 118 // 開啟dialog 119 $('#info').dialog('open').dialog('setTitle', '新增'); 120 }; 121 122 // 編輯節點 123 var updateNode = function () { 124 flag = 'edit'; 125 // 清空表單資料 126 $('#treefrm').form('clear'); 127 $('#treefrm').form('load', { 128 departmentid: tempNode.id, 129 departmentname: tempNode.text 130 }); 131 // 開啟dialog 132 $('#info').dialog('open').dialog('setTitle', '編輯'); 133 }; 134 135 // 刪除節點 136 var removeNode = function () { 137 // 前臺刪除 138 $('#deptTree').tree('remove', tempNode.target); 139 140 // 後臺刪除 141 $.ajax({ 142 type: "post", 143 async: true, // 非同步請求(同步請求將會鎖住瀏覽器,使用者其他操作必須等待請求完成才可以執行) 144 url: "deleteNode", 145 data: {departmentid: tempNode.id}, 146 dataType: "json", // 返回資料形式為json 147 success: function (result) { 148 // 請求成功時執行該函式內容,result即為伺服器返回的json物件 149 $.messager.show({ 150 title: '提示資訊', 151 msg: '刪除成功!' 152 }); 153 }, 154 error: function (result) { 155 // 請求失敗時執行該函式 156 $.messager.show({ 157 title: '錯誤資訊', 158 msg: result.msg 159 }); 160 } 161 }); 162 };

相關推薦

操作EasyUI Tree實現選擇葉子節點浮動選單實現刪改

1 // 記錄新增還是修改 2 var flag; 3 // 臨時儲存選中節點資料 4 var tempNode; 5 6 // 頁面載入 7 $(function () { 8 // 選單樹繫結資料 9 $('#deptTree').

操作IDEA + maven + SpringBoot + JPA + EasyUI實現CRUD及分頁

1 package cn.temptation.web; 2 3 import cn.temptation.dao.PersonDao; 4 import cn.temptation.model.Person; 5 import cn.temptation.util.Type

操作Windows 10 + MySQL 5.5 安裝使用及免安裝使用

界面 圖標 ini文件 字符集設置 exe 可能 mon rem 選擇 本文介紹Windows 10環境下, MySQL 5.5的安裝使用及免安裝使用 資源下載: MySQL安裝文件:http://download.csdn.net/detail/lf19820717/

操作IDEA + maven + SpringBoot + JPA + Thymeleaf實現CRUD及分頁

xtend sla lns ase tid item pen element per 一、開發環境: 1、windows 7 企業版 2、IDEA 14 3、JDK 1.8 4、Maven 3.5.2 5、MariaDB 6、SQLYog 二、Maven設

操作Gitblit伺服器搭建及IDEA整合Git使用

1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XM

操作IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf實現基礎認證許可權

1 package cn.temptation.shiro; 2 3 import org.apache.shiro.spring.web.ShiroFilterFactoryBean; 4 import org.apache.shiro.web.mgt.DefaultWebSecurit

操作IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf實現基礎授權許可權

1 package cn.temptation.shiro; 2 3 import at.pollux.thymeleaf.shiro.dialect.ShiroDialect; 4 import cn.temptation.dao.ResourceDao; 5 import

操作ElasticSearch學習筆記(01)

健康 方便 階段 alt hits chrom 信息 repl out 開篇來自於經典的“保安的哲學三問”(你是誰,在哪兒,要幹嘛) 問題一、ElasticSearch是什麽?有什麽用處? 答:截至2018年12月28日,從ElasticSear

操作HTML5 + CSS + JavaScript實現比賽排程

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" con

操作Eclipse + Maven + jFinal + MariaDB 環境搭建

cat 結構 add ring filter port bean html 截器 一、開發環境 1、windows 7 企業版 2、Eclipse IDE for Enterprise Java Developers Version: 2019-03 (4.11.0)

轉載Python 騷操作微信遠端控制電腦

轉自Python中文社群 https://mp.weixin.qq.com/s/KPBNKLYvPgJqoUsWR6zBxw 今天帶給大家一個非常有意思的 python 程式,基於 itchat 實現微信控制電腦。你可以通過在微信傳送命令,來拍攝當前電腦的使用者,然後圖片會發送到你的微信上

常用查詢輸入框一個關鍵字繫結多個屬性(包括intstring不同的型別)

從input獲取輸入一個待查詢關鍵字key,前端不區分,傳到後臺再進行處理,基本邏輯如下: //根據訂單號(int)或者供應商名稱(string)查詢訂單 if (!string.IsNullOrEmpty(key)) { var Id = MathTools.ToInt(key);

jquery easyui tree reload以後選中之前選擇節點

轉載至:https://blog.csdn.net/wang_song_yan/article/details/49928753問題背景:介面使用左側tree,右側datagrid的佈局。點選左側的樹節點,右側顯示當前節點下的資料,右側操作完以後左側樹的資料會發生改變,所以左

Go語言及Web框架Beego環境搭建

本文涉及軟體均以截至到2013年10月12日的最新版本為準 1、 相關軟體準備: 1) go1.2rc1.windows-386.msi,對應32位windows系統安裝使用 下載地址: 2) go1.2rc1.windows-amd64.msi,對應32位windows系統安裝使用 下載地

JQueryJQuery學習筆記JQuery操作HTML,即JQuery DOM操作

1,jQuery DOM操作,設定或獲得內容:   設定,在()內填入內容即可,有回撥函式; text() - 設定或返回所選元素的文字內容 html() - 設定或返回所選元素的內容(包括 HTML 標記) val() - 設定或返回表單欄位的值 2,jQuery D

iOS手把手教你釋出程式碼到CocoaPods(Trunk方式)

Change Log: 2015.08.20 - 新增podspec檔案更新方法 2015.08.19 - 首次釋出 概述 關於CocoaPods的介紹不在本文的主題範圍內,如果你是iOS開發者卻不知道CocoaPods,那可能要面壁30秒了。直奔主題,這篇文章主要介紹如果把你的程式碼釋出到Cocoa

iOS 日期操作總結NSDateNSDateFormatter

1、日期(NSDate) ///////////////////////////////////////////////////////////////////////// // //(1)NSDate 初始化 // ////////////////////////////

轉載C#工具類Json操作幫助類

哈希表 封裝 bst repl 遇到 json serial 轉載 res Json序列化和反序列化在程序開發中時常會遇到,在C#中可以使用很多種方法實現對數據的Json序列化和反序列化,封裝一個Json操作工具類來簡化相應的操作,該工具類中包含以下功能:對象轉JSON、數

Sql Server 2008---安裝時卸載Visual Studio

studio ima ext 一段 image 控制面板 選擇 應用 技術 由於數據庫連接不上,所以卸載數據庫,然後安裝的時候出問題報錯,結果是因為vs, 所以就有了卸載vs這一步。某些圖片借用一下。 1. 打開電腦中的控制面板--程序和功能 2.找到要卸載的軟件,但

NLPPython實例基於文本相似度對申報項目進行查重設計

用戶 strip() 字符串 執行 原創 這樣的 string 得到 亂碼問題 Python實例:申報項目查重系統設計與實現 作者:白寧超 2017年5月18日17:51:37 摘要:關於查重系統很多人並不陌生,無論本科還是碩博畢業都不可避免涉及論文查重問題,這也