在项目中使用到了Ext.form.CheckboxGroup,在清空事件中调用它的reset()方法,发现只能把状态置为初次加载时的状态,而不是清空所有选项。查看了EXT帮助手册,里面的解释是:“重置此元素的值到原始值,并且清除所有无效提示信息。Resets the current field value to the originally loaded value and clears any validation messages ”。所以只能自己手动清除所有选项,代码如下:
- var chkItems = Ext.getCmp(checkboxgroup_id).items;
- if(chkItems.items){
- for(var chkIndex = 0; chkIndex < chkItems.items.length; chkIndex++){
- chkItems.items[chkIndex].setValue(false);
- }
- }
其实还有另外种解决办法,就是后台返回的时候,不默认选中选项,而是通过JS代码控制选中,这样就可以使用reset()了。但是因为后台代码都已经写好了。懒得修改,所以就选用这种方式解决。