JQuery tree的使用

$(function(){

$('#cardTree').tree({

checkbox: false,

url: '<%=request.getContextPath()%>/estimateCardTree.do?method=jsonJorg',

onClick:function(node){

$('#cardTree').tree('select', node.target);

$('#cardTree').tree('expand',node.target);

currId = node.id;

if(currId==rootId){

//根节点上单击,只能操作评分卡

self.parent.frames["detailRight"].location = "<%=request.getContextPath()%>/jsp/estiscore/estimateCard.jsp";

}else{

var parNode = $('#cardTree').tree('getParent', node.target);

if(parNode.id==rootId){

//评分卡节点上单击,只能添加评分组

self.parent.frames["detailRight"].location = "<%=request.getContextPath()%>/jsp/estiscore/estimateGroupManage.jsp?currid="+currId;

}else{

//叶子评分组上单击,可以添加子评分组,也可以添加规则组

//非叶子评分组只能添加子评分组

//这里的叶子判断,只是按照前端显示的进行

var isLeaf = $('#cardTree').tree('isLeaf', node.target);

if(isLeaf){

var leafFlag = node.attributes.isLeaf;

//得到带有滚动条页面上鼠标单击的位置(Y坐标),这里兼容IE8

var showY = event.clientY+document.documentElement.scrollTop;

if("1"==leafFlag){//已经设置了规则组的叶子节点,只能跳转到设置规则组关系的页面

self.parent.frames["detailRight"].location = "<%=request.getContextPath()%>/jsp/estiscore/estimateRelationManage.jsp?currid="+currId;

}else{//还没有设置规则组的叶子节点,这时可以添加子评分组,也可以设置规则组

$('#addGroupOrruleGroup').menu('show', {

                           left: event.clientX,

                           top: showY

                       });

}

}else{

//非叶子节点,只能跳转到可以增删改评分组的页面

self.parent.frames["detailRight"].location = "<%=request.getContextPath()%>/jsp/estiscore/estimateGroupManage.jsp?currid="+currId;

}

}

}

},

onLoadSuccess:function(node,data){

//树加载成功之后才会执行里面的内容,即同步的

var root = $('#cardTree').tree('getRoot');

if(operNodeId==""){

$('#cardTree').tree('select', root.target);

}else{//右侧操作后,左侧树重新加载,并展开当前操作的节点

var operNode;

//级联得到root节点下所有的节点,不仅仅是直接子节点

var children = $('#cardTree').tree('getChildren', root.target);

for(var i=0; i<children.length; i++){

if(children[i].id==operNodeId){

operNode = children[i];

}

}

//从根节点展开到当前操作的节点

$('#cardTree').tree('expandTo',operNode.target);

//再展开当前操作节点的子节点

$('#cardTree').tree('expand',operNode.target);

}

},

onContextMenu: function(e, node){

//不使用IE默认的右键事件

                    e.preventDefault();

                    $('#cardTree').tree('select', node.target);

                    //通过叶子节点,判定评分组下是子评分组的添加还是规则的添加

                    var b = $('#cardTree').tree('isLeaf', node.target);

var parNode = $('#cardTree').tree('getParent', node.target);

if(parNode==null){

//初始化只能添加评分卡

/* $('#addCard').menu('show', {

                            left: e.pageX,  

                            top: e.pageY  

                        }); */

}else if(parNode.id=="1"){

}else{

}

                 }

});

});//jquery init block

相关推荐