function onClick(event, treeDemo, zNodes) {
if(!zNodes.isParent){
    alert( zNodes.id+"***"+zNodes.name);
}
};
var setting = {
dataType:"json",
callback: {
onClick: onClick
},
async: {
        dataFilter: function (zNodes) {
            eval(zNodes);///////
            alert( eval(zNodes));
            return nodes.children;////////
        }
}
};


var zNodes;
var str = <%=request.getAttribute("str").toString()%>;
zNodes = str;
$(document).ready(function(){
setting.async. dataFilter;
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});传递 str数据为 [{"children":[{"children":[{"children":[],"open":true,"orgId":4,"orgName":"分1部门1"},{"children":[],"open":true,"orgId":5,"orgName":"分1部门2"}],"open":true,"orgId":2,"orgName":"分1"},{"children":[{"children":[],"open":true,"orgId":6,"orgName":"分2部门1"},{"children":[],"open":true,"orgId":7,"orgName":"分2部门3"}],"open":true,"orgId":3,"orgName":"分2"},{"children":[],"open":true,"orgId":8,"orgName":"分3"},{"children":[{"children":[],"open":true,"orgId":12,"orgName":"分3部门1"}],"open":true,"orgId":9,"orgName":"分3"},{"children":[{"children":[],"open":true,"orgId":11,"orgName":"分4部门1"}],"open":true,"orgId":10,"orgName":"分4"},{"children":[{"children":[],"open":true,"orgId":14,"orgName":"分5部门1"}],"open":true,"orgId":13,"orgName":"分5"},{"children":[],"open":true,"orgId":15,"orgName":"分6"}],"open":true,"orgId":1,"orgName":"总公司"}]

解决方案 »

  1.   

                dataFilter: function (zNodes) {
                    eval(zNodes);///////
                    alert( eval(zNodes));
                    return nodes.children;////////
                }
    ================改成以下试一下================
    dataFilter:function (treeId, parentNode, childNodes) {
    return childNodes;
    }
      

  2.   

    上面那代码是我们案例里使用的写法。
    1.你先确定一下能不能正常返回json数据。
    2.你返回的数据我觉得是不是多了父节点了,也就是说返回的数据应该是:[
                {"children":[
                    {"children":[], "open":true, "orgId":4, "orgName":"分1部门1"},
                    {"children":[], "open":true, "orgId":5, "orgName":"分1部门2"}
                ], "open":true, "orgId":2, "orgName":"分1"},
                {"children":[
                    {"children":[], "open":true, "orgId":6, "orgName":"分2部门1"},
                    {"children":[], "open":true, "orgId":7, "orgName":"分2部门3"}
                ], "open":true, "orgId":3, "orgName":"分2"},
                {"children":[], "open":true, "orgId":8, "orgName":"分3"},
                {"children":[
                    {"children":[], "open":true, "orgId":12, "orgName":"分3部门1"}
                ], "open":true, "orgId":9, "orgName":"分3"},
                {"children":[
                    {"children":[], "open":true, "orgId":11, "orgName":"分4部门1"}
                ], "open":true, "orgId":10, "orgName":"分4"},
                {"children":[
                    {"children":[], "open":true, "orgId":14, "orgName":"分5部门1"}
                ], "open":true, "orgId":13, "orgName":"分5"},
                {"children":[], "open":true, "orgId":15, "orgName":"分6"}
            ]
    把“总公司”部分删除试试。