我有Ext.form.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);
}
}
这是正确的方法,我怎样才能更好地做到这一点?
答案 0 :(得分:1)
只要有效,我就没有看到您的代码有任何问题。不那么优雅的替代方案将涉及使用级联功能向下钻取到容器中。
答案 1 :(得分:1)
是的,级联功能(如上面的IT Grunt建议的)对我有用:
listeners: {
collapse: function(p) {
p.cascade(function () {
this.disable();
});
},
expand: function(p) {
p.cascade(function () {
this.enable();
});
}
}