• nodetree中 前面复选框禁用插件


    nodetree中 前面复选框的去掉插件

    extendTreeCheck.js

     1 /**   
     2  * tree方法扩展   
     3  * 作者:小雪转中雪   
     4  */   
     5 $.extend($.fn.tree.methods, {    
     6     /** 
     7      * 激活复选框   
     8      * @param {Object} jq   
     9      * @param {Object} target   
    10      */   
    11     enableCheck : function(jq, target) {     
    12         return jq.each(function(){    
    13             var realTarget;    
    14             if(typeof target == "string" || typeof target == "number"){    
    15                 realTarget = $(this).tree("find",target).target;    
    16             }else{    
    17                 realTarget = target;    
    18             }    
    19             var ckSpan = $(realTarget).find(">span.tree-checkbox");    
    20             if(ckSpan.hasClass('tree-checkbox-disabled0')){    
    21                 ckSpan.removeClass('tree-checkbox-disabled0');    
    22             }else if(ckSpan.hasClass('tree-checkbox-disabled1')){    
    23                 ckSpan.removeClass('tree-checkbox-disabled1');    
    24             }else if(ckSpan.hasClass('tree-checkbox-disabled2')){    
    25                 ckSpan.removeClass('tree-checkbox-disabled2');    
    26             }    
    27         });    
    28     },    
    29     /** 
    30      * 禁用复选框   
    31      * @param {Object} jq   
    32      * @param {Object} target   
    33      */   
    34     disableCheck : function(jq, target) {  
    35         return jq.each(function() {    
    36             var realTarget;    
    37             var that = this;    
    38             var state = $.data(this,'tree');    
    39             var opts = state.options;    
    40             if(typeof target == "string" || typeof target == "number"){    
    41                 realTarget = $(this).tree("find",target).target;    
    42             }else{    
    43                 realTarget = target;    
    44             }    
    45             var ckSpan = $(realTarget).find(">span.tree-checkbox");    
    46             ckSpan.removeClass("tree-checkbox-disabled0").removeClass("tree-checkbox-disabled1").removeClass("tree-checkbox-disabled2");    
    47             if(ckSpan.hasClass('tree-checkbox0')){    
    48                 ckSpan.addClass('tree-checkbox-disabled0');    
    49             }else if(ckSpan.hasClass('tree-checkbox1')){    
    50                 ckSpan.addClass('tree-checkbox-disabled1');    
    51             }else{    
    52                 ckSpan.addClass('tree-checkbox-disabled2')    
    53             }    
    54             if(!state.resetClick){    
    55                 $(this).unbind('click').bind('click', function(e) {    
    56                     var tt = $(e.target);    
    57                     var node = tt.closest('div.tree-node');    
    58                     if (!node.length){return;}    
    59                     if (tt.hasClass('tree-hit')){    
    60                         $(this).tree("toggle",node[0]);    
    61                         return false;    
    62                     } else if (tt.hasClass('tree-checkbox')){    
    63                         if(tt.hasClass('tree-checkbox-disabled0') || tt.hasClass('tree-checkbox-disabled1') || tt.hasClass('tree-checkbox-disabled2')){    
    64                             $(this).tree("select",node[0]);    
    65                         }else{    
    66                             if(tt.hasClass('tree-checkbox1')){    
    67                                 $(this).tree('uncheck',node[0]);    
    68                             }else{    
    69                                 $(this).tree('check',node[0]);    
    70                             }    
    71                             return false;    
    72                         }    
    73                     } else {    
    74                         $(this).tree("select",node[0]);    
    75                         opts.onClick.call(this, $(this).tree("getNode",node[0]));    
    76                     }    
    77                     e.stopPropagation();    
    78                 });    
    79             }    
    80                 
    81         });    
    82     }    
    83 });   



     调用方法

     1 /**
     2  * 禁用树形菜单的复选框
     3  * @param disableChecks
     4  */
     5 function forbiddenTreeCheck(disableChecks){
     6     var level = 0;
     7     $.each(disableChecks,function(key,item){
     8         level = item.attributes.cj;
     9         if(level == 1 || level == 2 || level == 3){
    10             var node = $("#geologicalmapTableID").tree('find',item.id);
    11             $('#geologicalmapTableID').tree('disableCheck', node.target);// 禁用    
    12         }
    13     });
    14 }

    树形菜单的初始化

     1 /**
     2  * 初始化树形菜单
     3  */
     4 function initgeologicaltreeLoad() {
     5     var url = rootPath+'/jasframework/ycsy/geologicalmaptree.do';
     6     $('#geologicalmapTableID').tree( {
     7         url : url,
     8         lines:true,
     9         checkbox:true,
    10         onBeforeLoad:function(node, param) {
    11             if (node!=null) {
    12                 $(this).tree('options').url = url+"?cj="+node.attributes.cj+"&parentid="+encodeURI(encodeURI(node.attributes.parentid))+"&checked="+node.checked;
    13             } else {
    14                 $(this).tree('options').url = url;
    15             }
    16         },
    17         onCheck:function(node, checked) {
    18             var nodeName = node.attributes.imagename;
    19             var modelId =   listModelName(nodeName);
    20             var backID = judgeNodelContaineModelId(nodeName);
    21                 if(checked){
    22                     if(backID==null){
    23                         createProcessBar();
    24                         showPic(node.text,node.attributes.parentid);
    25                         setTimeout(function(){
    26                             closeProcessBar();
    27                         },3000);
    28                     }else{
    29                         objectActions(backID,"显隐",1);
    30                     }
    31                 }else{
    32                     var ID =  getModelID(nodeName);
    33                     objectActions(backID,"显隐",0);
    34 //                    objectActions(ID,"显隐",0);
    35                 }
    36         },
    37         onDblClick: function(node){
    38             if(node.attributes.cj=='4'){
    39 //                var xTemp1=node.attributes.zxjd;
    40 //                var xTemp2=node.attributes.zdjd;
    41 //                var yTemp1=node.attributes.zxwd;
    42 //                var yTemp2=node.attributes.zdwd;
    43 //                
    44 //                var longitude =(parseFloat(xTemp1)+parseFloat(xTemp2))/2;
    45 //                var latitude =((parseFloat(yTemp1)+parseFloat(yTemp2)))/2;
    46                 var elevation1 = node.attributes.elevation;
    47                 var longitude= node.attributes.longitude;
    48                 var latitude =  node.attributes.latitude;
    49                 var countheight = countHighlyMethod(longitude,latitude);
    50                 var elevation =elevation1 + countheight;
    51                 if(longitude==0||latitude==0){
    52                     $.messager.alert('警告','抱歉,此图件信息不全');   
    53                 }else{
    54 //                    setTimeout(function(){
    55                         location1(longitude,latitude,elevation1,'0.000000','-90.0000000');    
    56 //                    },1000);
    57                 }
    58                 
    59                 
    60             }
    61         },
    62         onContextMenu: function(e,node){
    63             e.preventDefault();
    64             onTreeContextMenu(node);
    65         },
    66         onLoadSuccess:function(node, data){
    67             forbiddenTreeCheck(data);
    68             if(node == null){
    69                 if(!isfirstLoaded){
    70                     rootNodes = data;
    71                     initFactoryName(data);
    72                     isfirstLoaded = !isfirstLoaded;
    73                 }
    74             }else{
    75                 var parent = $('#geologicalmapTableID').tree('getParent', node.target);// 获取指定厂区区块节点
    76                 if(parent == null){
    77                     var children = $('#geologicalmapTableID').tree('getChildren', node.target);// 获取指定厂区区块节点
    78                     initAreaName(children);
    79                 }
    80             }
    81         }
    82     });
    83 }
  • 相关阅读:
    [BZOJ4869][洛谷P3747][六省联考2017]相逢是问候(线段树)
    [WC2014][BZOJ3435][洛谷P3920]紫荆花之恋(动态点分治+treap)
    JavaScript对象JQuery In Action
    每日一条SQL LEFT JOIN
    Div border 显示不出来的原因
    HTML列表标记:dl、dt、dd
    The Effective Executive 笔记 一
    c# 解析JSON的几种办法
    使用if else 容易犯的错
    每日一句SQL:内联视图
  • 原文地址:https://www.cnblogs.com/tian830937/p/4431826.html
Copyright © 2020-2023  润新知