日期:2014-05-17  浏览次数:20639 次

zTree异步加载怎样在后台获取节点id问题
用zTree异步动态加载生成动态菜单如何在后台获取节点id的呢?
async: {
enable: true,                                //异步处理惩罚
contentType: "application/json",             //提交参数体式格式,这里 JSON 格局,默认form格局
url:base_url+"/knowledge_base_action.do?pm=getKnowledgeTree" ,//异步获取json格局数据的路径
autoParam: ["id","name","level"],                   //异步加载时须要提交的参数,多个用逗号分隔
otherParam:{"otherParam":"zTreeAsyncTest"},
dataFilter: filter
},

我想在struts1中获取到属性“autoParam”中的id,name,怎样取得呢?用request.getParamater(“id”);无法取到,
------解决方案--------------------
不懂你这个组件怎么做的 不过看代码也看不到你的值是何时弄进去的
我想应该跟你的otherParam格式一样吧? 或者写到url里面去试试!
------解决方案--------------------
autoParam:["id=1", "name=n", "level=lv"],
otherParam:{"otherParam":"zTreeAsyncTest"},
dataFilter: filter

这样试试!
------解决方案--------------------

------解决方案--------------------
//加载树
$(document).ready(function(){
$.ajax({
        cache:false,
        type: 'POST',
        dataType : "json",
        url: "stNumber_selectTree.action",//请求的action路径
        error: function () {//请求失败处理函数
            alert('请求失败');
        },
        success:function(data){ //请求成功后处理函数。
         var str = "[";
         $.each(data.tree,function(i,item){
          str = str + "{ id:"+item.orgId+", pId:"+item.orgUpId+ ", name:\"" +item.orgName+ "\", orgCode:\"" +item.orgCode+ "\", orgLevel:\"" +item.orgLevel+ "\"},";
         });
         str=str.substring(0,str.length-1);
         str = str + "]"; //此时str是JSON字符串
         var msg = eval('(' + str + ')');//将字符串转换为json对象
         $.fn.zTree.init($("#showTree"), setting, msg); //treeDemo是树的显示位置
        }
         });加载树的时候把需要的参数也加进去,取的时候ztree提供了方法的
这应该是取参数的方法://点击事件
function onClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("showTree");
var nodes = zTree.getSelectedNodes();
$("#orgSel").attr("value",nodes[0].name);
$("#orgLevel").attr("value",nodes[0].orgLevel);
$("#orgCode").attr("value",nodes[0].orgCode);
hideMenu();
}我自己改动过,具体改的哪忘记了