ztree shift多选

来源:互联网 发布:詹姆斯沃西数据 编辑:程序博客网 时间:2024/05/22 14:17

callback : {
onClick : onClickHandle
}//回调函数中写



/* 点击事件 */

function onClickHandle(event, treeId, treeNode)
{
     var preClickedNode = window.preClickedNode;  //获得最后一次点击的节点
         window.preClickedNode=treeNode;  //设置上次点击节点为刚刚点击的节点
         event = window.event||event;//兼容IE  
         if(event.shiftKey&&preClickedNode){//当有是第二次点击并且按住shift键的时候
           var obj = jQuery.fn.zTree.getZTreeObj(treeId);  //获得树
                obj.selectNode(preClickedNode,true);  //把上次获得的节点设置为选中
                var firstNode =obj.getNodeIndex(preClickedNode);  //第一个节点
                var lastNode =obj.getNodeIndex(treeNode);  //最后一个节点
                var count = lastNode - firstNode;  //差
                var nodeNew = preClickedNode;  
                if (count > 0) { 
                    for (var i = 1; i < count; i++){  
                        nodeNew = nodeNew.getNextNode();  
                       // if(!nodeNew)break;//用于排除隐患  
                        obj.selectNode(nodeNew, true); //选中每一个节点
                    }  
                }else {  
                    for (var j = 1; j < (-count); j++) {  
                        nodeNew = nodeNew.getPreNode();  
                       // if(!nodeNew)break;//用于排除隐患  
                        obj.selectNode(nodeNew, true); //选中每一个节点
                    }  
                } 

         }//else{
        switch (treeNode.type)
      {
      case Constants.FormTree.FieldNode:
      $("#fieldDiv").show();
      $("#zoneDiv").hide();
      FieldNodeCick(event, treeId, treeNode);
      break;
      case Constants.FormTree.ZoneNode:
      $("#fieldDiv").hide();
      $("#zoneDiv").show();
      ZoneNodeCick(event, treeId, treeNode);
      break;
      case Constants.FormTree.FormNode:
      $("#fieldDiv").hide();
      $("#zoneDiv").hide();
      break;
      }
       //  }
}
0 0
原创粉丝点击