zoukankan      html  css  js  c++  java
  • Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框

    Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框

    Jquery EasyUI Combotree单选框,Jquery EasyUI Combotree只能选择叶子节点

    EasyUI Combotree叶子节点增加单选框

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

    ©Copyright 蕃薯耀 2018年4月28日

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

    建议使用方式三(完美版)

    一、方式一,最简单(只能单选叶子节点,叶子节点前面无多选框)

    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. });  

     二、方式二:控制只能选一项,选中某一项后后面不能再勾选(体验比较生硬)

    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. });  

     三、方式三:随意选择任意一项,但只能选一项(完美版)

    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/

  • 相关阅读:
    解决docker pull很慢的方法
    Linux 基础 Day1
    linux运维人员必须熟悉的运维工具汇总
    chrome 浏览器插件推荐
    只能运维主要职责
    Linux查看所有用户用命令
    ubuntu16.04 离线包安装docker
    2013-10
    ELK原理与介绍
    shell中各种括号的作用()、(())、[]、[[]]、{}
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/8968908.html
Copyright © 2011-2022 走看看