Jquery EasyUI Combotree只能選擇葉子節點且葉子節點有多選框

Jquery EasyUI Combotree只能選擇葉子節點且葉子節點有多選框node

Jquery EasyUI Combotree單選框,Jquery EasyUI Combotree只能選擇葉子節點ui

EasyUI Combotree葉子節點增長單選框this

 

 

================================spa

©Copyright 蕃薯耀 2018年4月28日blog

http://www.cnblogs.com/fanshuyao/ip

 

建議使用方式三(完美版)get

 

1、方式一,最簡單(只能單選葉子節點,葉子節點前面無多選框)string

Js代碼   收藏代碼
  1. $("xxxId").combotree({  
  2.     data : [{……},{……},{……}],//數據省略  
  3.     required: false,  
  4.     onBeforeSelect : function(node){  
  5.         if(!$(this).tree("isLeaf", node.target)){//若是不是葉子節點,不讓選擇  
  6.             return false;  
  7.         }  
  8.     }  
  9. });  

 

 2、方式二:控制只能選一項,選中某一項後後面不能再勾選(體驗比較生硬)it

Js代碼   收藏代碼
  1. $("xxxId").combotree({  
  2.     multiple : true,//設置能夠多選,顯示多選框,不設置不會出現多選框  
  3.     data : [{……},{……},{……}],//數據省略  
  4.     required: false,  
  5.     checkbox : true,//顯示多選框  
  6.     onlyLeafCheck : true,//只在葉子節點顯示多選框  
  7.     onBeforeSelect : function(node){  
  8.         if(!$(this).tree("isLeaf", node.target)){//若是不是葉子節點,不讓選擇  
  9.             return false;  
  10.         }  
  11.     },  
  12.     onBeforeCheck : function(node, checked){//控制只能選一項  
  13.         if(checked){//當前爲選中操做  
  14.             var nodes = $(this).tree("getChecked");  
  15.             //控制只能選一項,選中某一項後後面不能再勾選  
  16.             if(nodes.length == 0){  
  17.                 return true;  
  18.             }else{  
  19.                 return false;  
  20.             }  
  21.         }else{//當前爲取消選中操做  
  22.             return true;  
  23.         }  
  24.     }  
  25. });  

 

 3、方式三:隨意選擇任意一項,但只能選一項(完美版)io

Js代碼   收藏代碼
  1. $("xxxId").combotree({  
  2.     multiple : true,//設置能夠多選,顯示多選框,不設置不會出現多選框  
  3.     data : [{……},{……},{……}],//數據省略  
  4.     required: false,  
  5.     checkbox : true,//顯示多選框  
  6.     onlyLeafCheck : true,//只在葉子節點顯示多選框  
  7.     onBeforeSelect : function(node){  
  8.         $(this).tree("check", node.target);//控制點擊文字時也能勾選  
  9.         return false;//避免不是選擇勾選框而是點擊文字出現黃色的選中條紋  
  10.     },  
  11.     onBeforeCheck : function(node, checked){//控制只能選一項  
  12.         if(checked){//當前爲選中操做  
  13.             var nodes = $(this).tree("getChecked");  
  14.             //控制只能選一項,選中某一項後後面不能再勾選  
  15.             if(nodes.length > 0){  
  16.                 for(var i=0; i<nodes.length; i++){  
  17.                     $(this).tree("uncheck", nodes[i].target);//清除以前選中的項  
  18.                 }  
  19.             }  
  20.         }  
  21.     }  
  22. });  

 

 

 方法三中:onBeforeSelect方法返回false,避免第一次點擊文字選中後,再從新打開選擇,不點擊文字,直接勾選多選框,第一次點擊的文字有黃色背景的狀況,以下:



 

 

 

================================

©Copyright 蕃薯耀 2018年4月28日

http://www.cnblogs.com/fanshuyao/

相關文章
相關標籤/搜索