Extjs设置Tree中的部分CheckBox不可用

有时候我们需要让Tree中的部分CheckBox不可用,该怎么实现了?

首先,我们需要判断哪些CheckBox不可用了,这个操作一般在后台实现,我们只要为每个Node加个属性就可以了,如以下是从后台传回的JSON值:


// 下面是树加载时从后台传回数据中某个节点的值,节点的isEnable属性为自己添加的
var json ={
    isEnable:"Y","children":null,"disabled":false,
    "expanded":true,"href":null,
    "hrefTarget":null,"iconCls":"","id":"2-2~group",
    "leaf":true,"text":"中餐","uiProvider":null
}
这样在树中每个节点都有了一个属性“isEnable”,我们就可以通过这个属性来设置哪些节点为不可用状态,如:

  // 将树中属性isEnable为N的节点设置为不可用状态
  function setEnable() {
    // 下面是对一个包括三级节点的树进行循环
    var nodes1 = tree3.getNodeById('root-node').childNodes;
    for(var i = 0; i < nodes1.length; i++) {  // 循环一级节点
      var nodes2 = nodes1[i].childNodes;
      for(var j = 0; j < nodes2.length; j++) {  // 循环二级节点
        var nodes3 = nodes2[j].childNodes;
        for(var k = 0; k < nodes3.length; k++) {  // 循环三级节点
          // 得到该节点isEnable的值
          var isEnable = nodes3[k].attributes.isEnable;
          if(isEnable == 'N') {
            // 如果isEnable的值为'N',就将该节点置为不可用状态
            nodes3[k].disable();
          }
        }
      }
    }
  }
那么,当我们需要的时候调用setEnable函数就可以将树中某些节点置为不可用状态了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值