亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Jquery樹插件zTree用法入門教程

2019-11-20 13:08:56
字體:
來源:轉載
供稿:網友

本文實例分析了Jquery樹插件zTree用法。分享給大家供大家參考。具體分析如下:

關于zTree的介紹就搜吧。

這個例子的最終效果如下:

鼠標移動到一級目錄時出現全選鏈接,點擊全選鏈接該目錄下的所有子項都被添加到收件人的文本框中,當然點擊單個子項則添加一個。至于要添加些什么信息由自己決定。

1. 下載zTee,頁面引入jquery.js,根據功能需求添加zTree相應的js和css

復制代碼 代碼如下:
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script> 
    <script type="text/javascript" src="js/jquery.ztree.core-3.5.js"></script> 
    <script type="text/javascript" src="js/jquery.ztree.excheck-3.5.js"></script> 
    <script type="text/javascript" src="js/jquery.ztree.exedit-3.5.js"></script> 
<link rel="stylesheet" href="css/zTreeStyle/zTreeStyle.css" type="text/css">

 
jquery.ztree.core-3.5.js:zTree核心包 
 
jquery.ztree.excheck-3.5.js:復選框功能包  
 
jquery.ztree.exedit-3.5.js:編輯功能包  

zTree核心包是必須引入的。

2. 配置zTree,個別說明見代碼中的注釋

zTree設置信息:

變量:zTree中用到的html標簽ID都會在后面添加以下后綴,如一級目錄前面的展開和關閉圖片的id為添加IDMark_Switch,其他的摸索吧。

復制代碼 代碼如下:
var IDMark_Switch = "_switch", 
IDMark_Icon = "_ico", 
IDMark_Span = "_span", 
IDMark_Input = "_input", 
IDMark_Check = "_check", 
IDMark_Edit = "_edit", 
IDMark_Remove = "_remove", 
IDMark_Ul = "_ul", 
IDMark_A = "_a"; 

var setting = { 
    view: { 
 addHoverDom: addHoverDom, 
 removeHoverDom: removeHoverDom 
    }, 
    callback: { 
 beforeClick: beforeClick, 
 onClick: onClick 
    } 
}; 
function beforeClick(treeId, treeNode, clickFlag) { 
    //alert(treeNode.id); 
    var ticketBagNo = treeNode.phone; 
    re =new RegExp(ticketBagNo);  
    var accept = $("#accept").val();//找到要放數據的地方,并測試是否已經存在 
    if(!re.test(accept)){ 
    $("#accept").val(accept+treeNode.name+"<"+ticketBagNo+">,"); 
    } 

function onClick(event, treeId, treeNode, clickFlag) { 
    //alert(clickFlag+"zzz"); 
}

callback中有兩個回調函數

beforeClick:

是用于捕獲 勾選 或 取消勾選 之前的事件回調函數,并且根據返回值確定是否允許 勾選 或 取消勾選默認值:null

onClick:

用于捕獲節點被點擊的事件回調函數
如果設置了 beforeClick 方法,且返回 false,將無法觸發 onClick 事件回調函數。
默認值:null

addHoverDom,就是鼠標移過節點所作出的反應,我們這里為一級目錄添加一個全選功能,addHoverDom是一個函數:

復制代碼 代碼如下:
function addHoverDom(treeId, treeNode) { 
 if (!treeNode.children)return; 
    if (treeNode.parentNode && treeNode.parentNode.id!=1 ) return; 
    var aObj = $("#" + treeNode.tId + IDMark_A); 
    if (treeNode.children.length>0) { 
 if ($("#diyBtn1_"+treeNode.id).length>0) return; 
 if ($("#diyBtn2_"+treeNode.id).length>0) return;//' onclick='allSelect("+treeNode+") 
 var editStr = "<a id='diyBtn1_" +treeNode.id+ "' style='margin:0 0 0 5px;color:red;'>全選</a>"; 
 aObj.append(editStr); 
 document.getElementById("diyBtn1_"+treeNode.id).onclick = function() { 
      allSelect(treeNode); 
 }; 
    } 
}

全選allSelect方法:

復制代碼 代碼如下:
function allSelect(treeNode){ 
    if (!treeNode.children)return; 
    for(i=0;i<treeNode.children.length;i++){ 
 var ticketBagNo = treeNode.children[i].phone; 
    re =new RegExp(ticketBagNo);   
    var accept = $("#accept").val();//找到文本框如果該記錄未添加就添加 
    if(!re.test(accept)){ 
 $("#accept").val(accept+treeNode.children[i].name+"<"+ticketBagNo+">,"); 
    } 
    } 
}

removeHoverDom:鼠標移除節點所做出的反應,去掉全選

復制代碼 代碼如下:
function removeHoverDom(treeId, treeNode) { 
if (!treeNode.children)return; 
$("#diyBtn1_"+treeNode.id).unbind().remove(); 
}

zTree節點信息:可以根據需求動態生成。

以下為Demo數據,每個節點中的name,phone都可以按照自己的需要進行添加或修改,比如你要添加一個年齡:age="23",但是要注意格式問題,這一點是非常方便。

復制代碼 代碼如下:
var zNodes =[ 
    {id:1,name:"所有老師",open:false,//這里false為默認關閉,true打開 
 children:[ 
  {id:2,name:"測試老師",phone:"123456789101"}, 
  {id:3,name:"大老師",phone:"15623545621"} 
 ] 
    }, 
    {id:4,name:"一班",open:true, 
 children:[ 
      
   {id:5,name:"小花",phone:"25364215211"}, 
  {id:6,name:"小綠",phone:"365241253"} 
  }, 

  {id:7,name:"二班",open:true, 
 children:[ 
      
   {id:8,name:"小家",phone:"25364215211"}, 
  {id:9,name:"小沙",phone:"365241253"} 
   } 
];

以下是我用jsp從服務動態生成樹的例子,不需要可以忽略,我留著以后參考的。

復制代碼 代碼如下:
/*var zNodes =[ 
<s:if test="#session.teacherList.size()>0"> 
    {id:1,name:"所有老師",open:false, 
 children:[ 
  <s:iterator value="#session.teacherList" status="tindex" var="t"> 
  <s:if test="#session.teacherList.size() != #tindex.index+1">{id:<s:property value="#tindex.index+2"/>,name:"<s:property value='#t.TName' escape='false' />",phone:"<s:property value='#t.TPhone' escape='false'/>"},</s:if> 
  <s:if test="#session.teacherList.size() == #tindex.index+1">{id:<s:property value="#tindex.index+2"/>,name:"<s:property value='#t.TName' escape='false' />",phone:"<s:property value='#t.TPhone' escape='false'/>"}</s:if> 
  </s:iterator> 
 ] 
    }, 
    </s:if> 
<s:iterator value="#session.classList" status="loop" var="c"> 
    <s:if test="#c.students.size()>0"> 
    {id:<s:property value='#c.students.size()+#session.teacherList.size()+#loop.index+3'/>,name:"<s:property value='#c.clsName' escape='false'/>",open:true, 
 children:[ 
     <s:iterator value="#c.students" status="l" var="s"> 
  <s:if test="#c.students.size() != #l.index+1"> {id:<s:property value="#l.index+#session.teacherList.size()+#loop.index+4"/>,name:"<s:property  escape='false' value='#s.SName'/>",phone:"<s:property value='#s.SPhone' escape='false'/>"},</s:if> 
  <s:if test="#c.students.size() == #l.index+1">{id:<s:property value="#l.index+#session.teacherList.size()+#loop.index+4"/>,name:"<s:property  escape='false' value='#s.SName'/>",phone:"<s:property value='#s.SPhone' escape='false'/>"}</s:if> 
     </s:iterator> 
     <s:if test="#session.classList.size() != #loop.index+1">]},</s:if> 
     <s:if test="#session.classList.size() == #loop.index+1">]}</s:if> 
    </s:if> 
</s:iterator> 
];*/

準備就緒。初始化樹要顯示的地方,

復制代碼 代碼如下:
$(document).ready(function(){ 
    $.fn.zTree.init($("#treeDemo"), setting, zNodes); 
});

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区中文字幕| 日韩欧美在线观看| 国产精品免费一区二区三区都可以| 亚洲欧洲自拍偷拍| 国产亚洲一区精品| 这里只有精品丝袜| 国产极品jizzhd欧美| 久久99久久99精品免观看粉嫩| 上原亚衣av一区二区三区| 欧美亚洲在线观看| 亚洲精品电影网| 91网站免费观看| 精品女同一区二区三区在线播放| 超碰日本道色综合久久综合| 7m精品福利视频导航| 亚洲视频电影图片偷拍一区| 久久久精品久久久| 欧美人与性动交a欧美精品| 亚洲欧美日韩第一区| 国产免费一区视频观看免费| 538国产精品视频一区二区| 国产精品第七影院| 亚洲 日韩 国产第一| 在线成人激情黄色| 欧美精品18videos性欧美| 日韩国产精品亚洲а∨天堂免| 91欧美精品成人综合在线观看| 欧美色欧美亚洲高清在线视频| 中文亚洲视频在线| 久久久国产精品x99av| 91手机视频在线观看| 亚洲aⅴ男人的天堂在线观看| 国产精品精品视频一区二区三区| 欧美超级乱淫片喷水| 亚洲乱码国产乱码精品精| 日韩美女中文字幕| 深夜福利亚洲导航| 国产精品九九九| 亚洲国产第一页| 中文字幕一区二区精品| 另类色图亚洲色图| 8x拔播拔播x8国产精品| 91精品国产综合久久香蕉922| 国产欧美婷婷中文| 中文字幕日韩专区| 日韩电影中文字幕在线观看| 日韩高清av一区二区三区| 国产精品视频男人的天堂| 国产精品无av码在线观看| 欧美激情中文字幕乱码免费| 美女国内精品自产拍在线播放| 亚洲福利视频网| 久久久噜噜噜久久中文字免| 91精品视频大全| 亚洲专区在线视频| xxx欧美精品| 91tv亚洲精品香蕉国产一区7ujn| 日韩精品免费在线视频观看| 国产精品日日做人人爱| 欧美黄色片视频| 亚洲三级av在线| 欧美国产精品人人做人人爱| 中国人与牲禽动交精品| 国外色69视频在线观看| 亚洲欧美中文日韩在线| 成人免费视频xnxx.com| 亚洲欧美日韩综合| www.久久撸.com| 欧美性生交xxxxx久久久| 一区二区三区视频在线| 成人免费在线视频网站| 亚洲人免费视频| 中文在线不卡视频| 国产日韩av高清| 最近日韩中文字幕中文| 国内精品久久久久影院优| 精品久久久久久久中文字幕| 一区国产精品视频| 亚洲香蕉在线观看| 欧美国产日韩精品| 欧美午夜激情视频| www.国产精品一二区| 日韩少妇与小伙激情| 97视频在线观看免费| 亚洲国内精品视频| 日韩精品视频观看| 曰本色欧美视频在线| 欧美日韩成人精品| 日韩欧美国产视频| 国产精品久久久久久中文字| 性夜试看影院91社区| 久久综合九色九九| 亚洲高清av在线| 亚洲乱码一区二区| 国产成人avxxxxx在线看| 亚洲国产精品va在线看黑人动漫| 欧美日产国产成人免费图片| 国产91九色视频| www.国产精品一二区| 成人羞羞国产免费| 日韩免费av片在线观看| 97视频在线观看网址| 久久亚洲国产精品成人av秋霞| 亚洲sss综合天堂久久| 久久久久国产精品免费网站| 日韩成人在线网站| 国自在线精品视频| 97免费视频在线播放| 中文字幕日韩欧美在线| 性欧美激情精品| www.欧美三级电影.com| 成人一区二区电影| 国产成+人+综合+亚洲欧美丁香花| 亚洲精品在线不卡| 国产亚洲人成a一在线v站| 成人啪啪免费看| 久久综合免费视频影院| 欧美成人精品三级在线观看| 日韩电影中文 亚洲精品乱码| 日韩av免费看网站| 欧美在线免费看| 日韩中文字幕国产| 欧洲亚洲在线视频| 91色琪琪电影亚洲精品久久| 欧美有码在线观看视频| 欧美激情精品久久久久久变态| 91在线色戒在线| 91在线色戒在线| 91高清视频在线免费观看| 国产精品色悠悠| 综合久久五月天| 红桃视频成人在线观看| 欧美最顶级的aⅴ艳星| 97精品国产97久久久久久免费| 中文日韩电影网站| 日产日韩在线亚洲欧美| 国产成人精品一区二区三区| 国产精品亚洲自拍| 成人精品久久一区二区三区| 日韩av色在线| 97视频在线观看免费高清完整版在线观看| 中文字幕欧美日韩精品| 538国产精品一区二区免费视频| 亚洲电影免费观看高清完整版在线观看| 亚洲天堂av图片| 日韩高清电影免费观看完整| 91久久精品视频| 亚洲一区二区久久| 国产91av在线| 国产91对白在线播放| 亚洲欧美色图片| 中文字幕日韩精品在线观看| 国内精品400部情侣激情| 91亚洲国产精品| 欧美极品美女电影一区| 九色精品免费永久在线| 成人av在线天堂| 日韩精品在线私人| 亚洲成色777777在线观看影院| 午夜精品一区二区三区视频免费看| 久久男人av资源网站| 精品国产欧美成人夜夜嗨| 精品成人69xx.xyz| 茄子视频成人在线|