1、问题背景
一般出现在加载的时候,传递参数给后台,进行数据筛选,然后在加载tree渲染数据。所谓动态参数,可以是你的上一级节点node,或者是根节点node。
2、涉及方法
onBeforeLoad(node,param),需要给的参数在这个方法后面赋值,比如:
var rootNode = $(this).tree('getRoot',node.target);param.typeId = rootNode.id;
这样typeId 就作为动态参数,传递给了后台,后台获取typeId这个参数,进行数据筛选以达到目的。
$("#typeTree").tree({ url: "${basePath}/cascade/cascadePolicyAction_getDataRuleJsonTree.do", method: 'get', cascadeCheck:true, checkbox:false, animate:true, /* queryParams:{}, */ loadFilter: function(data){ if (data.treeNodes){ return data.treeNodes; } else { return data; } }, onSelect:function(node){ if($("#"+node.id).length != 0){ $("#"+node.id).remove(); }else{ var html = '' +''; $("#typeDiv").append(html); } setID(node.id); }, onBeforeLoad:function(node,param){ param.type = type; } })' +''+node.text+'
$("#typeTree").tree("reload");//重新加载数据