level 1
ztreeLove
楼主

输入E8点“查询”品牌分类节点有展开但没有高亮标识答条件的节点
再次点“查询”才有高亮显示出结果
第一次使用ztree.我用ztree3.1做树搜索功能。树是异步加载的,发现getNodesByParamFuzzy方法只是在前面搜索树。后来我用了个ajax去后台查询符合条件的节点的父节点以数据返回前台,然后能过ztree.expandNode()展开,再调用getNodesByParamFuzzy查询不到节点。个人估计是调getNodesByParamFuzzy 方法时节点异步加载还没结果。我想问有没有方法在父节点的子节点都加载完成后才做某些操作。大家是否也遇到过类似的问题,问不吝赐教啊
部分javascript代码如下:
async:{enable: true,dateType:"json",url:"/bass/discCatAction?method=catTree",autoParam:["ID"],otherParam:["SHOW_DISC","true","DISC_ID",discId]},
var nodeList=[];function updateNodes(nodeList,highlight) {for( var i=0, l=nodeList.length; i<l; i++) {nodeList[i].highlight = highlight;zTree.updateNode(nodeList[i]);}}
function getFontCss(treeId, treeNode) {return (!!treeNode.highlight) ? {color:"#A60000", "font-weight":"bold"} : {color:"#333", "font-weight":"normal"};}
//搜索树function refreshZtree(value){updateNodes(nodeList,false);nodeList= zTree.getNodesByParamFuzzy("name", value);updateNodes(nodeList,true);}
/** * * @param keyVal套餐名称关键字 * @return */function searhTree(keyVal){ajax.remoteCall("bean://com.suntek.bass.disc.provider.DiscCategoryProvider:searchDiscCategory", [keyVal],function(reply) {var obj=reply.getResult();//alert(obj.length);openTreeNode(obj,keyVal);});}
/** * * @param nodecodes * @param keyVal套餐名称关键字 * @return */function openTreeNode(nodecodes,keyVal){var curNode=null;$(nodecodes).each(function(i,n){curNode=zTree.getNodeByParam("CODE", n, null);if(curNode)zTree.expandNode(curNode, true, false, false);});refreshZtree(keyVal);}