现在用Ext+Struts2开发项目,遇到了一个问题,RadioGroup中的Radio选择了其中一个之后,另一个不能自动的设置为未选中,今天写了个测试程序,终于成功了,把代码贴出来以供本人及同行日后参考。
Ext.onReady(function(){ Ext.QuickTips.init(); var adminRadio=new Ext.form.Radio({ boxLabel:'管理员', inputValue:'admin', listeners:{ 'check':function(){ //alert(adminRadio.getValue()); if(adminRadio.getValue()){ userRadio.setValue(false); adminRadio.setValue(true); } } } }); var userRadio=new Ext.form.Radio({ boxLabel:'普通用户', inputValue:'user', listeners:{ 'check':function(){ if(userRadio.getValue()){ adminRadio.setValue(false); userRadio.setValue(true); } } } }); var _form=new Ext.form.FormPanel({ renderTo:'login-form', title:'系统登录', frame:true, 290, height:160, layout:'form', buttonAlign:'center', labelAlign:'center', defaults:{160,labelWidth:80,xtype:'textfield'}, items:[ {fieldLabel:'用 户 名',vtype:'alpha',id:'name',name:'name'}, {fieldLabel:'通 行 证',inputType:'password',vtype:'alpha',id:'pass',name:'pass'}, { xtype:'radiogroup', fieldLabel:'用户类型', id:'typeRadio', items:[ adminRadio,userRadio ] } ], buttons:[ {text:'登 录',style:'margin-right:15'}, { text:'清 除', style:'margin-left:15', handler:function(){ var _name=_form.findById('name').setValue(''); var _pass=_form.findById('pass').setValue(''); } } ] }); });
显示效果如下所示: