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

首頁 > 編程 > JavaScript > 正文

jquery zTree異步加載、模糊搜索簡單實例分享

2019-11-20 10:21:01
字體:
來源:轉載
供稿:網友

本文實例為大家講解了jquery zTree樹插件的基本使用方法,具體內容如下

一、節點模糊搜索功能:搜索成功后,自動高亮顯示并定位、展開搜索到的節點。

二、節點異步加載:1、點擊展開時加載數據;2、選中節點時加載數據。
前臺代碼如下:

<script type="text/javascript"> //ztree設置 var setting = { view: { fontCss: getFontCss }, check: { enable: true }, data: { simpleData: { enable: true, idKey: "id", pIdKey: "pId", rootPId: 0 } }, async: { enable: true, url: "#{getStudentsJsonUrl}", autoParam: ["id", "level"] }, callback: { beforeCheck: zTreeBeforeCheck, onNodeCreated: zTreeOnNodeCreated, beforeExpand: zTreeBeforeExpand } }; var reloadFlag = false; //是否重新異步請求 var checkFlag = true; //是否選中 //節點展開前 function zTreeBeforeExpand(treeId, treeNode) { reloadFlag = false; return true; }; //節點創建后 function zTreeOnNodeCreated(event, treeId, treeNode) { var zTree = $.fn.zTree.getZTreeObj(treeId); if (reloadFlag) { if (checkFlag) { zTree.checkNode(treeNode, true, true); } if (!treeNode.children) { zTree.reAsyncChildNodes(treeNode, "refresh"); } } }; //選中節點前 function zTreeBeforeCheck(treeId, treeNode) { var zTree = $.fn.zTree.getZTreeObj(treeId); if (!treeNode.children) { reloadFlag = true; checkFlag = true; zTree.reAsyncChildNodes(treeNode, "refresh"); } return true; } //頁面加載完成 _run(function () { require(['zTree/js/jquery.ztree.all-3.5'], function () { $.ajax({ type: "POST", url: "#{getStudentsJsonUrl}", success: function (data) { if (data && data.length != 0) { //如果結果不為空 $.fn.zTree.init($("#tree"), setting, data); } else { //搜索不到結果 } } }); }); //提交 $("#inputSubmit").click(function () { var zTree = $.fn.zTree.getZTreeObj("tree"); var nodes = zTree.getCheckedNodes(true); var ids = ""; var names = ""; for (var i = 0; i < nodes.length; i++) { //遍歷選擇的節點集合 if (!nodes[i].isParent) { ids += nodes[i].id.replace("level" + nodes[i].level, "") + ","; names += nodes[i].name + ","; } } Simpo.ui.box.hideBox(); parent.$(".boxFrm").contents().find("#inputRange").val(names.substr(0, names.length - 1)); parent.$(".boxFrm").contents().find("#hidRange").val(ids.substr(0, ids.length - 1)); }) }); //查找節點 var lastNodeList = []; var lastKey; function searchNode() { var zTree = $.fn.zTree.getZTreeObj("tree"); var key = $.trim($("#inputSearchNode").val()); if (key != "" && key != lastKey) { nodeList = zTree.getNodesByParamFuzzy("name", key); for (var i = 0, l = lastNodeList.length; i < l; i++) { //上次查詢的節點集合取消高亮 lastNodeList[i].highlight = false; zTree.updateNode(lastNodeList[i]); } zTree.expandAll(false); //全部收縮 if (nodeList.length > 0) { for (var i = 0, l = nodeList.length; i < l; i++) { //遍歷找到的節點集合 if (nodeList[i].getParentNode()) { zTree.expandNode(nodeList[i].getParentNode(), true, false, false); //展開其父節點 } nodeList[i].highlight = true; zTree.updateNode(nodeList[i]); } } zTree.refresh(); // 很重要,否則節點狀態更新混亂。 lastNodeList = nodeList; lastKey = key; } } //加載數據 function loadData() { var zTree = $.fn.zTree.getZTreeObj("tree"); var rootNodes = zTree.getNodes(); reloadFlag = true; checkFlag = false; for (var i = 0; i < rootNodes.length; i++) { if (!rootNodes[i].children) { zTree.reAsyncChildNodes(rootNodes[i], "refresh"); //異步加載 } } } //全部收縮 function closeAll() { var zTree = $.fn.zTree.getZTreeObj("tree"); if ($("#inputCloseAll").val() == "全部收縮") { zTree.expandAll(false); $("#inputCloseAll").val("全部展開") } else { zTree.expandAll(true); $("#inputCloseAll").val("全部收縮") } } //高亮樣式 function getFontCss(treeId, treeNode) { return (treeNode.highlight) ? { color: "#A60000", "font-weight": "bold"} : { color: "#333", "font-weight": "normal" }; }</script>
<div style="width: 200px; height: 260px; overflow: auto; border: solid 1px #666;"> <ul id="tree" class="ztree"> </ul> </div>

后臺代碼(后臺返回Json數據):

 public void SelStudent() { set("getStudentsJsonUrl", to(GetStudentsJson)); } public void GetStudentsJson() { List<Dictionary<string, string>> dicList = new List<Dictionary<string, string>>(); string level = ctx.Post("level"); string id = ctx.Post("id"); if (strUtil.IsNullOrEmpty(id)) { #region 加載班級 //獲取當前登錄用戶 Sys_User user = AdminSecurityUtils.GetLoginUser(ctx); //獲取當前用戶關聯的老師 Edu_Teacher teacher = edu_TeacService.FindByUserId(user.Id); //獲取班級集合 List<Edu_ClaNameFlow> list = edu_ClaNameFlowService.GetListByTeacherId(teacher.Id); foreach (Edu_ClaNameFlow item in list) { Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add("id", "level0" + item.Calss.Id.ToString()); dic.Add("pId", "0"); dic.Add("name", item.Gra.Name + item.Calss.Name); dic.Add("isParent", "true"); dicList.Add(dic); } #endregion } else { if (level == "0") { //加載學生 List<Edu_Student> list = edu_StudService.GetListByClassId(id.Replace("level0", "")); foreach (Edu_Student item in list) { Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add("id", "level1" + item.Id.ToString()); dic.Add("pId", id); dic.Add("name", item.Name); dic.Add("isParent", "false"); dicList.Add(dic); } } } echoJson(dicList); }

三、基于cookie實現zTree樹刷新后,展開狀態不變

1、除了引用jQuery和zTree的JS外,引用cookie的JS:

復制代碼 代碼如下:
<script type="text/javascript" src="~/Scripts/jquery-treeview/lib/jquery.cookie.js"></script>

2、JS代碼:

$(function () { //ztree設置 var setting = { data: {  simpleData: {  enable: true,  idKey: "id",  pIdKey: "pId",  rootPId: null  } }, callback: {  onExpand: onExpand,  onCollapse: onCollapse } }; $.ajax({ type: "POST", url: "/Tech/TemplateTypeManage/GetData", success: function (data) {  if (data && data.length != 0) {  $.fn.zTree.init($("#tree"), setting, data);  var treeObj = $.fn.zTree.getZTreeObj("tree");  var cookie = $.cookie("z_tree" + window.location);  if (cookie) {   z_tree = JSON2.parse(cookie);   for (var i = 0; i < z_tree.length; i++) {   var node = treeObj.getNodeByParam('id', z_tree[i])   treeObj.expandNode(node, true, false)   }  }  } } });});//end $function onExpand(event, treeId, treeNode) { var cookie = $.cookie("z_tree" + window.location); var z_tree = new Array(); if (cookie) { z_tree = JSON2.parse(cookie); } if ($.inArray(treeNode.id, z_tree) < 0) { z_tree.push(treeNode.id); } $.cookie("z_tree" + window.location, JSON2.stringify(z_tree))}function onCollapse(event, treeId, treeNode) { var cookie = $.cookie("z_tree" + window.location); var z_tree = new Array(); if (cookie) { z_tree = JSON2.parse(cookie); } var index = $.inArray(treeNode.id, z_tree); z_tree.splice(index, 1); for (var i = 0; i < treeNode.children.length; i++) { index = $.inArray(treeNode.children[i].id, z_tree); if (index > -1) z_tree.splice(index, 1); } $.cookie("z_tree" + window.location, JSON2.stringify(z_tree))}

更多關于ztree控件的內容,請參考專題《jQuery插件ztree使用匯總》

以上就是關于樹插件zTree異步加載、模糊搜索簡單實例講解,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区18| 亚洲曰本av电影| 久久国产精品99国产精| 国产成人精品综合| 欧美电影免费在线观看| 亚洲综合最新在线| 成人国产精品色哟哟| 亚洲永久在线观看| 亚洲视频专区在线| 国产精品九九久久久久久久| 国产ts一区二区| 91国语精品自产拍在线观看性色| 97色在线观看| 日韩av大片在线| 国产精品电影观看| 久久久久久噜噜噜久久久精品| 亚洲国产精品系列| 欧美孕妇性xx| 国产精品美女视频网站| 国产成+人+综合+亚洲欧美丁香花| 尤物yw午夜国产精品视频明星| 久久国产加勒比精品无码| 国产欧美在线播放| 亚洲美女又黄又爽在线观看| 九九热这里只有在线精品视| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品福利在线观看| 国产精品丝袜白浆摸在线| 日韩高清电影免费观看完整版| 狠狠躁18三区二区一区| 欧美视频国产精品| 欧美激情中文字幕在线| 国语自产精品视频在线看抢先版图片| 国产精品视频一区二区三区四| 日本午夜在线亚洲.国产| 久久综合网hezyo| 成人性生交大片免费看小说| 久久中国妇女中文字幕| 色综合视频一区中文字幕| 欧美一级高清免费播放| 欧美午夜丰满在线18影院| 在线播放日韩专区| 久久99热精品这里久久精品| 亚洲午夜未删减在线观看| 成人在线一区二区| 国产精品夜色7777狼人| www日韩中文字幕在线看| 美女av一区二区三区| 成人国内精品久久久久一区| 欧美丰满少妇xxxxx做受| 亚洲福利视频专区| 亚洲无限乱码一二三四麻| 精品一区二区三区四区| 一区二区中文字幕| 国产精品久久激情| 欧美日韩国产精品专区| 亚洲最大av网| 久久久国产一区二区| 懂色aⅴ精品一区二区三区蜜月| 日韩在线播放一区| y97精品国产97久久久久久| 亚洲伊人成综合成人网| 日韩av一卡二卡| 日日狠狠久久偷偷四色综合免费| 亚洲最新av在线| 国产精品视频久久久| 日韩极品精品视频免费观看| 国产亚洲欧美日韩美女| 成人美女av在线直播| 日韩av中文字幕在线免费观看| 97在线视频国产| 国内精品久久久久久久久| 久久成人人人人精品欧| 国产精品久久久久久久久久东京| 亚州欧美日韩中文视频| 欧美亚州一区二区三区| 日韩av在线高清| 欧美在线观看日本一区| 日韩欧美在线免费| 国产欧美va欧美va香蕉在线| 成人激情av在线| 欧美视频精品一区| 日韩极品精品视频免费观看| 国产亚洲一区二区精品| 色一区av在线| 久久激情视频免费观看| 成人午夜在线观看| 91在线观看免费高清完整版在线观看| 国产精品自拍偷拍| 亚洲自拍欧美另类| 欧美一级淫片丝袜脚交| 国产在线精品成人一区二区三区| 91精品国产综合久久香蕉| 亚洲精品456在线播放狼人| 一本一本久久a久久精品牛牛影视| 日本亚洲欧美成人| 国产精品第1页| 国产ts人妖一区二区三区| 国产精品成人观看视频国产奇米| 国产丝袜一区二区| 日本久久中文字幕| 日韩中文字幕网| 国产视频在线观看一区二区| 亚洲国产精品yw在线观看| 国产91久久婷婷一区二区| 97超碰色婷婷| 一区二区欧美日韩视频| 中文字幕国内精品| 日韩美女视频免费看| 欧美激情网友自拍| 国产成人avxxxxx在线看| 成人激情免费在线| 亚洲精品456在线播放狼人| 日韩在线视频网| 成人精品视频99在线观看免费| 国产亚洲精品一区二区| 欧美日韩亚洲精品一区二区三区| 国产99久久精品一区二区 夜夜躁日日躁| 国产69精品99久久久久久宅男| 色诱女教师一区二区三区| 中文字幕九色91在线| 狠狠久久五月精品中文字幕| 欧美成人性生活| 国产91精品黑色丝袜高跟鞋| 亚洲人成电影网站色www| 北条麻妃99精品青青久久| 韩国19禁主播vip福利视频| 不卡av电影在线观看| 亚洲精品98久久久久久中文字幕| 91精品国产色综合久久不卡98| 亚洲最大的av网站| 亚洲第一区在线| 亚洲综合在线播放| 亚洲iv一区二区三区| 国产精品极品美女在线观看免费| 日韩成人久久久| 日韩小视频在线观看| 欧美精品videossex性护士| 欧美裸体xxxx极品少妇软件| 中文在线资源观看视频网站免费不卡| 精品久久久久久国产91| 成年无码av片在线| 成人久久一区二区| 亚洲成**性毛茸茸| 久久精品亚洲94久久精品| 97精品国产91久久久久久| 国产+成+人+亚洲欧洲| 日韩精品免费在线| 高跟丝袜欧美一区| 亚洲视频在线看| 国产精品久久久久久亚洲影视| 影音先锋欧美在线资源| 青草青草久热精品视频在线网站| 欧美激情精品久久久久久蜜臀| 国产v综合v亚洲欧美久久| 国产精品久久久久高潮| 亚洲男人天堂2023| 4p变态网欧美系列| 久久精品电影网| 成人在线视频福利| 亚洲欧美日韩国产中文专区| 精品无码久久久久久国产| 亚洲人成77777在线观看网| 国产成人在线精品|