2010年05月26日   ExtJs, 码农之路   6,781 次浏览
有时候我们需要让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函数就可以将树中某些节点置为不可用状态了。
>>> Hello World <<<
这篇内容是否帮助到你了呢?
如果你有任何疑问或有建议留给其他朋友,都可以给我留言。