Extjs RadioGroup中Radio的切换
现在用Ext+Struts2开发项目,遇到了一个问题,RadioGroup中的Radio选择了其中一个之后,另一个不能自动的设置为未选中,今天写了个测试程序,终于成功了,把代码贴出来以供本人及同行日后参考。
01 | Ext.onReady(function(){ |
02 | Ext.QuickTips.init(); |
03 | var adminRadio=new Ext.form.Radio({ |
04 | boxLabel:'管理员', |
05 | inputValue:'admin', |
06 | listeners:{ |
07 | 'check':function(){ |
08 | //alert(adminRadio.getValue()); |
09 | if(adminRadio.getValue()){ |
10 | userRadio.setValue(false); |
11 | adminRadio.setValue(true); |
12 | } |
13 | } |
14 | } |
15 | }); |
16 | var userRadio=new Ext.form.Radio({ |
17 | boxLabel:'普通用户', |
18 | inputValue:'user', |
19 | listeners:{ |
20 | 'check':function(){ |
21 | if(userRadio.getValue()){ |
22 | adminRadio.setValue(false); |
23 | userRadio.setValue(true); |
24 | } |
25 | } |
26 | } |
27 | }); |
28 | var _form=new Ext.form.FormPanel({ |
29 | renderTo:'login-form', |
30 | title:'系统登录', |
31 | frame:true, |
32 | width:290, |
33 | height:160, |
34 | layout:'form', |
35 | buttonAlign:'center', |
36 | labelAlign:'center', |
37 | defaults:{width:160,labelWidth:80,xtype:'textfield'}, |
38 | items:[ |
39 | {fieldLabel:'用 户 名',vtype:'alpha',id:'name',name:'name'}, |
40 | {fieldLabel:'通 行 证',inputType:'password',vtype:'alpha',id:'pass',name:'pass'}, |
41 | { |
42 | xtype:'radiogroup', |
43 | fieldLabel:'用户类型', |
44 | id:'typeRadio', |
45 | items:[ |
46 | adminRadio,userRadio |
47 | ] |
48 | } |
49 | ], |
50 | buttons:[ |
51 | {text:'登 录',style:'margin-right:15'}, |
52 | { |
53 | text:'清 除', |
54 | style:'margin-left:15', |
55 | handler:function(){ |
56 | var _name=_form.findById('name').setValue(''); |
57 | var _pass=_form.findById('pass').setValue(''); |
58 | } |
59 | } |
60 | ] |
61 | }); |
62 | }); |
显示效果如下所示:

后一篇:
ExtJS实现登录页面实例
-
id 弄成一样的就可以了。不用你这么麻烦吧。
-
本文介绍如何在Extjs框架中实现RadioGroup的功能,确保在选择一个Radio时,其他Radio自动设为未选中状态。通过监听'check'事件并设置对应Radio的状态,实现了互斥选择。
1763

被折叠的 条评论
为什么被折叠?



