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

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

EasyUI Combotree叶子节点增加单选框

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

©Copyright 蕃薯耀 2018年4月28日

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

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

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

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

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

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

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

  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/

Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框的更多相关文章

  1. easyui combotree 只能选择子节点

    //区号只能选子节点 $("#quhao").combotree({ onBeforeSelect: function (node) { //返回树对象 var tree = $( ...

  2. Jquery EasyUI Combotree根据选中的值展开所有父节点

    Jquery EasyUI Combotree根据选中的值展开所有父节点  Jquery EasyUI Combotree 展开父节点, Jquery EasyUI Combotree根据子节点选中的 ...

  3. Jquery EasyUI Combotree和 EasyUI tree展开所有父节点和获取完整路径

    Jquery EasyUI Combotree展开所有父节点 Jquery EasyUI Combotree获取树完整路径 Jquery EasyUI tree展开所有父节点 Jquery EasyU ...

  4. esayui combotree 只能选择子节点

    esayui combotree 只能选择子节点用onBeforeSelect:参数是node,节点被选中之前触发,返回false取消选择动作. 网上找了好多都没一个可用的,要想知道他是子节点还是根节 ...

  5. Jquery EasyUI Combotree 初始化赋值

    Jquery EasyUI Combotree 初始化赋值 ================================ ©Copyright 蕃薯耀 2018年5月7日 https://www. ...

  6. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形网格惰性加载节点

    jQuery EasyUI 树形菜单 - 树形网格惰性加载节点 有时我们已经得到充分的分层树形网格(TreeGrid)的数据. 我们还想让树形网格(TreeGrid)按层次惰性加载节点. 首先,只加载 ...

  7. EasyUI Combotree只选择叶子节点

    EasyUI Combotree的方法拓展自Combo和Tree.而Tree有一个onBeforSelect事件来帮助我们实现只选择叶子节点的功能. Tree事件需要 'node' 参数,它包括下列属 ...

  8. 解决juqery easyui combobox只能选择问题

    1.首先设定框为 combobox样式,该字段值为了进行值的显示 <tr class="odd_row"> <td class="TableLabel_ ...

  9. Qt树形控件QTreeView使用1——节点的添加删除操作 复选框的设置

    QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有m ...

随机推荐

  1. visual studio 设计第一个WinForm小程序

    WinForm小程序之消息框 首先打开visual studio 软件,然后[文件]-[新建]-[项目]-[Visual C#]-[Windows],选择Windows窗体应用程序,根据自己的需要修改 ...

  2. numpy中的广播机制

    广播的引出 numpy两个数组的相加.相减以及相乘都是对应元素之间的操作. import numpy as np x = np.array([[2,2,3],[1,2,3]]) y = np.arra ...

  3. pointer-net

    Pointer network 主要用在解决组合优化类问题(TSP, Convex Hull等等),实际上是Sequence to Sequence learning中encoder RNN和deco ...

  4. GMA Round 1 向量计算

    传送门 向量计算 已知$\left |\overrightarrow{AB} \right |^2+\left |\overrightarrow{CD} \right |^2+\left |\over ...

  5. SDN中的Heavy-Hitter测量文献阅读

    Heavy Hitter Detection and Identification in Software Defined Networking 来源:International Conference ...

  6. Introducing stapbpf – SystemTap’s new BPF backend

    https://developers.redhat.com/blog/2017/12/13/introducing-stapbpf-systemtaps-new-bpf-backend/

  7. golang dlv 远程调试

    因为不知道delvel 是如何设置源码的,本地编译的上传到服务器上,服务器要调试看不到源码,很是忧伤,所以干脆使用远程调试吧: 在服务器上 ps x|grep game 查找到gameserver的进 ...

  8. MySql.Data.dll的版本

    在.Net下访问Mysql,先是用6.4.4,老有问题,也不知道哪个版本可以用,查询官网 https://dev.mysql.com/doc/connector-net/en/connector-ne ...

  9. 阿里云配置gitlab邮箱

    gitlab_rails['gitlab_email_from'] = 'username@163.com' user['git_user_email'] = "username@163.c ...

  10. python使用mysql

    python安装MySQLdb需要ssl,出错,原因如地址: https://stackoverflow.com/questions/46967488/getting-error-403-while- ...