最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

zTree實現(xiàn)節(jié)點修改的實時刷新功能

 更新時間:2017年03月20日 17:20:49   作者:菜鳥筆記  
在實際應(yīng)用中會遇到動態(tài)操作樹各節(jié)點的需求,在增加樹節(jié)點后如何實時動態(tài)刷新樹就十分有必要了。這篇文章主要介紹了zTree實現(xiàn)節(jié)點修改的實時刷新功能,需要的朋友可以參考下

一、應(yīng)用場景

在實際應(yīng)用中會遇到動態(tài)操作樹各節(jié)點的需求,在增加樹節(jié)點后如何實時動態(tài)刷新樹就十分有必要了。

二、項目實踐

比如要在test1234節(jié)點下新建子節(jié)點,首先要選中test1234節(jié)點,添加成功后,根據(jù)test1234結(jié)點的TID去后臺請求對應(yīng)子節(jié)點數(shù)據(jù),實現(xiàn)動態(tài)刷新。刪除節(jié)點類似。

三、代碼實現(xiàn)

1、初始化時必須設(shè)置配置

<span style="font-size:14px;"> async:{ 
   enable:true, 
   url:"../admin/scriptManager/loadNodeByID.htm", 
   autoParam:["id"], 
   dataType:"json", 
  }, 
  view: { 
   selectedMulti: false 
  } 
 }</span> 

2、刷新方法 

/** 
  * 刷新當(dāng)前節(jié)點 
  */ 
 function refreshNode() { 
  /*根據(jù) treeId 獲取 zTree 對象*/ 
  var zTree = $.fn.zTree.getZTreeObj("scriptTree"), 
  type = "refresh", 
  silent = false, 
  /*獲取 zTree 當(dāng)前被選中的節(jié)點數(shù)據(jù)集合*/ 
  nodes = zTree.getSelectedNodes(); 
  /*強(qiáng)行異步加載父節(jié)點的子節(jié)點。[setting.async.enable = true 時有效]*/ 
  zTree.reAsyncChildNodes(nodes[0], type, silent); 
 } 
 /** 
  * 刷新當(dāng)前選擇節(jié)點的父節(jié)點 
  */ 
 function refreshParentNode() { 
  var zTree = $.fn.zTree.getZTreeObj("scriptTree"), 
  type = "refresh", 
  silent = false, 
  nodes = zTree.getSelectedNodes(); 
  /*根據(jù) zTree 的唯一標(biāo)識 tId 快速獲取節(jié)點 JSON 數(shù)據(jù)對象*/ 
  var parentNode = zTree.getNodeByTId(nodes[0].parentTId); 
  /*選中指定節(jié)點*/ 
  zTree.selectNode(parentNode); 
  zTree.reAsyncChildNodes(parentNode, type, silent); 
 } 

3、涉及的方法詳解

1、$.fn.zTree.init(obj,zSetting,zNodes)zTree的初始化方法,創(chuàng)建zTree必須使用此方法

參數(shù)說明

obj JQuery Object用于展現(xiàn)zTree的DOM容器

zSetting   JSON zTree的配置數(shù)據(jù),具體請參考 “setting 配置詳解”中的各個屬性詳細(xì)說明

zNodes   Array(JSON)/JSON zTree的節(jié)點數(shù)據(jù),具體請參考 “treeNode 節(jié)點數(shù)據(jù)詳解”中的各個屬性詳細(xì)說明

返回值

zTree對象,提供操作zTree的各種方法,對于通過js操作zTree來說必須通過此對象

如果不需要自行設(shè)定全局變量保存,可以利用

2、zTreeObj.getSelectedNodes獲取 zTree 當(dāng)前被選中的節(jié)點數(shù)據(jù)集合

返回值

返回值 Array(JSON)當(dāng)前被選中的節(jié)點數(shù)據(jù)集合

方法實例:

1. 獲取當(dāng)前被選中的節(jié)點數(shù)據(jù)集合

var treeObj = $.fn.zTree.getZTreeObj("tree");
var nodes = treeObj.getSelectedNodes();

3、zTreeObj.getNodeByTId根據(jù) zTree 的唯一標(biāo)識 tId 快速獲取節(jié)點 JSON 數(shù)據(jù)對象

參數(shù):tId   String 節(jié)點在 zTree 內(nèi)的唯一標(biāo)識 tId

返回值:返回值   JSON tId 對應(yīng)的節(jié)點 JSON 數(shù)據(jù)對象如無結(jié)果,返回 null

方法實例:

1. 獲取 tId = "tree_10" 的節(jié)點數(shù)據(jù)

var treeObj = $.fn.zTree.getZTreeObj("tree");
var node = treeObj.getNodeByTId("tree_10");

4、zTreeObj.selectNode選中指定節(jié)點

參數(shù):treeNode   JSON 需要被選中的節(jié)點數(shù)據(jù)

addFlag   Boolean

addFlag = true 表示追加選中,會出現(xiàn)多點同時被選中的情況

addFlag = false 表示單獨(dú)選中,原先被選中的節(jié)點會被取消選中狀態(tài)

setting.view.selectedMulti = false 時,此參數(shù)無效,始終進(jìn)行單獨(dú)選中

5、zTreeObj.reAsyncChildNodes強(qiáng)行異步加載父節(jié)點的子節(jié)點。[setting.async.enable = true 時有效]

參數(shù):parentNode   JSON 指定需要異步加載的父節(jié)點 JSON 數(shù)據(jù),

reloadType   String reloadType = "refresh" 表示清空后重新加載。reloadType != "refresh" 時,表示追加子節(jié)點處理
isSilent   Boolean 設(shè)定異步加載后是否自動展開父節(jié)點。isSilent = true 時,不展開父節(jié)點,其他值或缺省狀態(tài)都自動展開。

方法實例

1. 重新異步加載當(dāng)前選中的第一個節(jié)點

var treeObj = $.fn.zTree.getZTreeObj("tree");
var nodes = treeObj.getSelectedNodes();
if (nodes.length>0) {
treeObj.reAsyncChildNodes(nodes[0], "refresh");
}

4、部分后臺代碼

/** 
* 查詢工程對象 
* 
* @return 
*/ 
@ResponseBody 
@RequestMapping("/loadNodeByID.htm") 
public List<ZTreeNode> loadNodeByID(Integer id) { 
 List<ZTreeNode> nodes = cuScriptProjectService.loadNodesByID(id); 
 // ZTreeNode zTreeNode = cuScriptProjectService.loadNodeByID(id); 
 return nodes; 
} 

2、

/** 
 * 根據(jù)工程ID加載工程節(jié)點數(shù)據(jù) 
*/ 
@Override 
public List<ZTreeNode> loadNodesByID(Integer id) { 
 /* 查詢工程集合 */ 
 List<CUProject> allProjects = this.cuProjectDAO.findAllProjects(); 
 Map<Integer, List<CUProjectVO>> allPorjectList = this.buildProjectVOMap(allProjects); 
 /* 查詢腳本集合 */ 
 List<CUScript> allScripts = this.cuScriptDAO.findAllScripts(); 
 Map<Integer, List<CUScriptVO>> allScriptMap = this.buildScriptVOMap(allScripts); 
 /* 構(gòu)建ZTreeNode數(shù)據(jù)結(jié)構(gòu) */ 
 List<ZTreeNode> treeNodeList = new ArrayList<ZTreeNode>(); 
 loopBuildZTree(id, allPorjectList, allScriptMap, treeNodeList); 
 return treeNodeList; 
}

以上所述是小編給大家介紹的zTree實現(xiàn)節(jié)點修改的實時刷新功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 簡單對比分析JavaScript中的apply,call與this的使用

    簡單對比分析JavaScript中的apply,call與this的使用

    簡單的說call,apply都屬于Function.prototype的一個方法,它是JavaScript引擎內(nèi)在實現(xiàn)的,因為屬于Function.prototype,所以每個Function對象實例(就是每個方法)都有call,apply屬性。既然作為方法的屬性,那它們的使用就當(dāng)然是針對方法的了,這兩個方法是容易混淆的
    2015-12-12
  • javascript開發(fā)中因空格引發(fā)的錯誤

    javascript開發(fā)中因空格引發(fā)的錯誤

    最近寫一個關(guān)于用JavaScript做圖片自動切換問題發(fā)現(xiàn)一個非常奇特的問題,除了空格和換行外完全相同的代碼,在Firefox下卻有截然不同的運(yùn)行結(jié)果,今天記錄以提供他人留意及自我備查。
    2010-11-11
  • 使用ImageMagick進(jìn)行圖片縮放、合成與裁剪(js+python)

    使用ImageMagick進(jìn)行圖片縮放、合成與裁剪(js+python)

    由于需要在服務(wù)器端處理,使用就研究使用imagemagick來進(jìn)行。同時準(zhǔn)備封裝了一個Node.js和Python的方法,主要還是講一下然后使用imagemagick來對圖片進(jìn)行縮放、合成后進(jìn)行裁剪吧
    2013-09-09
  • 原生js實現(xiàn)手風(fēng)琴效果

    原生js實現(xiàn)手風(fēng)琴效果

    這篇文章主要為大家詳細(xì)介紹了原生js實現(xiàn)手風(fēng)琴效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 如何給ss bash 寫一個 WEB 端查看流量的頁面

    如何給ss bash 寫一個 WEB 端查看流量的頁面

    由于剛畢業(yè)的窮大學(xué)生,和朋友合租了一臺服務(wù)器開了多個端口提供 ss 服務(wù),懶得配置 ss-panel,就使用了 ss-bash 來監(jiān)控不同端口的流量,但每次都要等上服務(wù)器才能看到流量使用情況,很麻煩,于是就寫了個簡單的頁面來提供 WEB 訪問,具體內(nèi)容一起通過本文學(xué)習(xí)吧
    2017-03-03
  • JavaScript實現(xiàn)登錄窗體

    JavaScript實現(xiàn)登錄窗體

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)登錄窗體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Javascript Event事件中IE與標(biāo)準(zhǔn)DOM的比較

    Javascript Event事件中IE與標(biāo)準(zhǔn)DOM的比較

    說是IE與DOM的比較,其實還是瀏覽器之間的比較,眾多的瀏覽器中,IE獨(dú)樹一幟,并且占有大部分用戶市場,后來的標(biāo)準(zhǔn)DOM雖然不少優(yōu)點之處,但畢竟一般用戶不關(guān)心也不知道這些,代碼編寫過程中,往往需要兼顧多個瀏覽器。
    2010-04-04
  • 微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問題

    微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問題

    小程序文件上傳還是有點麻煩的,其實主要還是小程序?qū)Φ慕涌谟兄T多的不便,比如說,文件不能批量提交,只能一個個的提交,小程序的上傳需要專門的接口,這篇文章主要介紹了微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問題,需要的朋友可以參考下
    2023-11-11
  • Bootstrap Table 在指定列中添加下拉框控件并獲取所選值

    Bootstrap Table 在指定列中添加下拉框控件并獲取所選值

    通過 bootstrap-table 的Column 配置項中的formatter,將獲取到的數(shù)據(jù)轉(zhuǎn)換為包含數(shù)據(jù)的 select 控件。然后根據(jù)用戶選擇項更新對應(yīng)單元格數(shù)據(jù),最后通過getallselection方法獲取所選行數(shù)據(jù)
    2017-07-07

最新評論

阜南县| 凤庆县| 扎兰屯市| 郁南县| 内乡县| 瑞昌市| 宜都市| 昌都县| 隆回县| 揭西县| 河北区| 望奎县| 九寨沟县| 宣恩县| 博罗县| 英吉沙县| 高安市| 宝应县| 东城区| 金坛市| 阿拉善左旗| 遂平县| 东光县| 洪湖市| 同德县| 互助| 抚宁县| 泸溪县| 兴业县| 龙南县| 龙川县| 宜章县| 泸水县| 崇明县| 布尔津县| 双鸭山市| 克山县| 金门县| 军事| 白朗县| 图木舒克市|