Extjs RadioGroup中Radio的切换
(2011-05-09 21:14:15)
现在用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 弄成一样的就可以了。不用你这么麻烦吧。
-