国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
xloadtree的一個改造

xloadtree的一個改造

修改了xloadtree的部分源碼以適合自己使用。

1.修改了因節(jié)點(diǎn)個數(shù)過多而造成刷新時候的緩慢。(你可以用原版試試加上500個子節(jié)點(diǎn),然后調(diào)用reload()方法)。

2.加入了單選和復(fù)選的功能。

3.加入了線程,在500個子節(jié)點(diǎn)以上才會啟用。引用Thread.js,設(shè)置webFXTreeConfig.useThread=true.

4.增加了data屬性,使得每個節(jié)點(diǎn)都可以綁定自己想綁定的數(shù)據(jù)上去。

確定線程不能保證節(jié)點(diǎn)的順序,如果對順序有要求,那就不適用了。

該例子實(shí)現(xiàn)了對一顆樹的增刪改查。

因?yàn)槭茄舆t加載,所以在每個父節(jié)點(diǎn)的子節(jié)點(diǎn)1000以內(nèi)都是比較快的。

看哈效果圖:





項(xiàng)目jar包:

看哈部分代碼treeRadio.js:

Js代碼
  1. webFXTreeConfig.rootIcon = "xloadtree/images/xp/folder.png";
  2. webFXTreeConfig.openRootIcon = "xloadtree/images/xp/openfolder.png";
  3. webFXTreeConfig.folderIcon = "xloadtree/images/xp/folder.png";
  4. webFXTreeConfig.openFolderIcon = "xloadtree/images/xp/openfolder.png";
  5. webFXTreeConfig.fileIcon = "xloadtree/images/xp/file.png";
  6. webFXTreeConfig.lMinusIcon = "xloadtree/images/xp/Lminus.png";
  7. webFXTreeConfig.lPlusIcon = "xloadtree/images/xp/Lplus.png";
  8. webFXTreeConfig.tMinusIcon = "xloadtree/images/xp/Tminus.png";
  9. webFXTreeConfig.tPlusIcon = "xloadtree/images/xp/Tplus.png";
  10. webFXTreeConfig.iIcon = "xloadtree/images/xp/I.png";
  11. webFXTreeConfig.lIcon = "xloadtree/images/xp/L.png";
  12. webFXTreeConfig.tIcon = "xloadtree/images/xp/T.png";
  13. webFXTreeConfig.blankIcon = "xloadtree/images/blank.png";
  14. webFXTreeConfig.type = "radio"; //checkbox or radio
  15. var prjPath = '/xloadtreeDemo';
  16. var actionSuffix = '.action';
  17. var namespace = '/Controller';
  18. var loadRootNodeAction = 'loadRootNode_XloadTree';
  19. var initAction = 'init_XloadTree';
  20. var addNodeAction = 'addNode_XloadTree';
  21. var saveOrUpdateRootNodeAction = 'saveOrUpdateRootNode_XloadTree';
  22. var deleteNodeAction = 'deleteNode_XloadTree';
  23. var loadChildNodeAction = 'loadChildNode_XloadTree';
  24. var updateNodeAction = 'updateNode_XloadTree';
  25. var loadTreeUrl = prjPath + namespace+'/' + loadRootNodeAction + actionSuffix;
  26. var loadChildNodeUrl = prjPath + namespace+'/' + loadChildNodeAction + actionSuffix;
  27. var initTreeUrl = prjPath + namespace+'/' + initAction + actionSuffix;
  28. var addNodeUrl = prjPath + namespace+'/' + addNodeAction + actionSuffix;
  29. var saveOrUpdateRootNodeUrl = prjPath + namespace+'/' + saveOrUpdateRootNodeAction + actionSuffix;
  30. var deleteNodeUrl = prjPath + namespace+'/' + deleteNodeAction + actionSuffix;
  31. var updateNodeUrl = prjPath + namespace+'/' + updateNodeAction + actionSuffix;
  32. var tree;
  33. $(function(){
  34. loadTree();
  35. });
  36. //加載根節(jié)點(diǎn)
  37. function loadTree(){
  38. $.ajax({
  39. url:loadTreeUrl,
  40. dataType:'json',
  41. success:function(rootNode){
  42. var id = rootNode.id;
  43. if(id != '0'){
  44. updateTree(rootNode);
  45. }else{
  46. $('#rootId').html('null');
  47. $('#rootPid').html('null');
  48. }
  49. }
  50. });
  51. }
  52. //獲取根節(jié)點(diǎn)的子節(jié)點(diǎn)集合
  53. function updateTree(rootNode){
  54. $('#rootText').val(rootNode.text);
  55. $('#rootAction').val(rootNode.action);
  56. $('#rootId').html(rootNode.id);
  57. $('#rootPid').html('null');
  58. tree = new WebFXLoadTree(rootNode.text,initTreeUrl,rootNode.action);
  59. tree.data = rootNode;
  60. $('#radioDiv').html(tree.toString());
  61. }
  62. //點(diǎn)擊單選按鈕的回調(diào)事件
  63. function setRadioData(data){
  64. if(typeof(data) == 'string'){
  65. data = jQuery.parseJSON(data);
  66. }
  67. $('#pid').val(data.id);
  68. }
  69. //添加新節(jié)點(diǎn)
  70. function addNode(){
  71. var selectNode = tree.selectNode;
  72. if(selectNode==null){
  73. alert('選中一個節(jié)點(diǎn)進(jìn)行新增操作!');
  74. return;
  75. }
  76. var treeNode = new Object();
  77. treeNode.text = $("#text").val();
  78. treeNode.action = $("#action").val();
  79. treeNode.pid = $("#pid").val();
  80. if(treeNode.text==''){
  81. alert('text必須填寫!');
  82. return;
  83. }
  84. $.ajax({
  85. type:'POST',
  86. url:addNodeUrl,
  87. data:treeNode,
  88. dataType:'json',
  89. success:function(newNode){
  90. //直接添加即可
  91. selectNode.add(new WebFXTreeItem({
  92. text:newNode.text,
  93. action:newNode.action,
  94. data:newNode
  95. }));
  96. selectNode.src = newNode.src;
  97. selectNode.expand();
  98. //清空內(nèi)容
  99. $("#text").val('');
  100. $("#action").val('');
  101. }
  102. });
  103. }
  104. //保存根節(jié)點(diǎn)信息
  105. function saveOrUpdateRootNode(){
  106. var treeNode = new Object();
  107. treeNode.text = $("#rootText").val();
  108. treeNode.action = $("#rootAction").val();
  109. treeNode.id = $("#rootId").html();
  110. if(treeNode.text==''){
  111. alert('text不能為空');
  112. $("#rootText").focus();
  113. return;
  114. }
  115. if(treeNode.id == 'null')treeNode.id = -1;
  116. $.ajax({
  117. type:'POST',
  118. url:saveOrUpdateRootNodeUrl,
  119. data:treeNode,
  120. dataType:'json',
  121. success:function(rootNode){
  122. $("#"+tree.id+"-anchor").html(rootNode.text);
  123. }
  124. });
  125. }
  126. //刷新選中節(jié)點(diǎn)的子節(jié)點(diǎn)信息
  127. function flushNode(){
  128. var selectNode = tree.selectNode;
  129. if(selectNode==null){
  130. alert('選中一個節(jié)點(diǎn)進(jìn)行刷新操作!');
  131. return;
  132. }
  133. if(selectNode.childNodes.length!=0){
  134. if(selectNode.reload){
  135. selectNode.reload();
  136. }else{
  137. var parentNode = selectNode.parentNode;
  138. var index = selectNode.index;
  139. if(parentNode){
  140. parentNode.reload();
  141. }
  142. }
  143. }
  144. }
  145. //刪除節(jié)點(diǎn)
  146. function delNode(){
  147. var selectNode = tree.selectNode;
  148. if(selectNode==null){
  149. alert('選中一個節(jié)點(diǎn)進(jìn)行刪除操作!');
  150. return;
  151. }
  152. var data = selectNode.data;
  153. if(typeof(data) == 'string'){
  154. data = jQuery.parseJSON(data);
  155. }
  156. $.ajax({
  157. type:'POST',
  158. url:deleteNodeUrl,
  159. data:{id:data.id},
  160. success:function(result){
  161. if(Number(result)!=0){
  162. selectNode.remove();
  163. tree.selectNode = null;
  164. }
  165. }
  166. });
  167. }
  168. //編輯節(jié)點(diǎn)信息
  169. function editNode(){
  170. var selectNode = tree.selectNode;
  171. if(selectNode==null){
  172. alert('選中一個節(jié)點(diǎn)進(jìn)行編輯操作!');
  173. return;
  174. }
  175. var data = selectNode.data;
  176. if(typeof(data) == 'string'){
  177. data = jQuery.parseJSON(data);
  178. }
  179. var treeNode = new Object();
  180. treeNode.text = $("#text").val();
  181. treeNode.action = $("#action").val();
  182. treeNode.id = data.id;
  183. if(treeNode.text==''){
  184. alert('text不能為空');
  185. $("#text").focus();
  186. return;
  187. }
  188. $.ajax({
  189. type:'POST',
  190. url:updateNodeUrl,
  191. data:treeNode,
  192. dataType:'json',
  193. success:function(updateNode){
  194. $("#"+selectNode.id+"-anchor").html(updateNode.text);
  195. $("#"+selectNode.id+"-anchor").attr('href',updateNode.action);
  196. selectNode.data = updateNode;
  197. }
  198. });
  199. }



xloadtreeDemo.rar 附帶mysql腳本數(shù)據(jù)。

  • 大小: 11 KB
  • 大小: 11.3 KB
  • 大小: 36.3 KB
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Ztree樹的復(fù)選框和獲取選擇的節(jié)點(diǎn)實(shí)例和代碼
不用迭代算法而快速實(shí)現(xiàn)的jsp樹結(jié)構(gòu)
WinForm TreeView 三種狀態(tài)
XTREE學(xué)習(xí)筆記
xloadtree 的使用
delphi創(chuàng)建和讀取xml(xml簡單操作舉例)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服