2010-09-03 63 views
0

我有Ext.form.FieldSet中的一些字段。它看起來像:禁用FieldSet項目時崩潰

var register_options = new Ext.form.FieldSet({ 
    autoHeight: true, 
    title: 'My Title', 
    checkboxToggle: true, 
    checkboxName: 'register_options', 
    items: [item1, item2, item3] 
}); 

當我的字段集複選框取消選中(字段集被摺疊)我不想提交任何字段(ITEM1,ITEM2 ...)。

我可以通過添加一些聽衆和禁用領域做到這一點:

listeners: { 
    collapse: function(p) { 
     p.items.each(function(i) { 
      i.disable(); 
     }, 
     this); 
    }, 
    expand: function(p) { 
     p.items.each(function(i) { 
      i.enable(); 
     }, 
     this); 
    } 
} 

是不是正確的方法,我怎麼能做到這一點更好?

回答

1

只要它工作,我看不出您的代碼有什麼問題。一個不太優雅的替代方案會涉及使用級聯功能鑽取容器。

1

呀,級聯功能(如建議通過IT咕嚕以上)工作對我來說:

listeners: { 
    collapse: function(p) { 
     p.cascade(function() { 
      this.disable(); 
     }); 
    }, 
    expand: function(p) { 
     p.cascade(function() { 
      this.enable(); 
     }); 
    } 
}