这里稍微扩展了一下checkboxgroup,让它能从远程的数据源生成复选框。
但是问题来了,form.getFields没办法找到动态生成的复选框,从构造方法配置生成的就正常。请问是什么问题? buildCheckBoxes: function() {
var me = this;
me.store.each(function(rec){
var config = {
xtype: 'checkboxfield',
name: me.fieldName,
boxLabel: rec.get(me.displayField),
inputValue: rec.get(me.valueField)
};
me.add(config);
}, me);
}
但是问题来了,form.getFields没办法找到动态生成的复选框,从构造方法配置生成的就正常。请问是什么问题? buildCheckBoxes: function() {
var me = this;
me.store.each(function(rec){
var config = {
xtype: 'checkboxfield',
name: me.fieldName,
boxLabel: rec.get(me.displayField),
inputValue: rec.get(me.valueField)
};
me.add(config);
}, me);
}
如果你调试一下form.getFields就明白了
给动态生成的复选框绑上事件(应该可以用jQuery来操作),有选择操作时,把值附给隐含域,或从隐含域中去除form.getFields找到隐含域不也一样吗
重载掉checkbox的isFormField属性,重载掉checkboxgroup的getModelData和getSubmitData方法,让form直接从checkboxgroup的派生类调用获取数据的方法就ok了。