在选中事件里处理
选中name1时去判断name2是否选中,如果已选中,则取消选中;
选中name2时类似的去判断name1
参考一下:
xtype : 'radiogroup',
fieldLabel : '性别*',
name : 'gender',
allowBlank : false,
msgTarget:'qtip',
anchor : '95%',
items : [{
boxLabel : '男',
name : 'sex1',
inputValue : '1',
//checked : true,
listeners: {
change: function(obj,nv,ov){
if(nv){//选中
var s2 = obj.up('radiogroup').down('radio[name="sex2"]');//sex2
if(s2.value){//如果sex2选中,取消
s2.setValue(!nv);
}
}
}
}
},{
boxLabel : '女',
name : 'sex2',
inputValue : '2',
listeners: {
change: function(obj,nv,ov){
if(nv){//选中
var s1 = obj.up('radiogroup').down('radio[name="sex1"]');//sex1
if(s1.value){//如果sex1选中,取消
s1.setValue(!nv);
}
}
}
}
}]
有个readOnly属性设置为true.
用js加个事件来控制,例如:click
当选择其中一个时,将其他的设置为非选中状态即可
重写某个函数即可
Ext.define('Ext.form.field.Radio', {
override : 'Ext.form.field.Radio',
onChange : function (newVal, oldVal) {
var me = this,
r,
rLen,
radio,
radios;
me.callParent(arguments);
if (newVal) {
radios = me.up().query('radio');
rLen = radios.length;
for (r = 0; r < rLen; r++) {
radio = radios[r];
if (radio !== me) {
radio.setValue(false);
}
}
}
}
});
放到你们框架就行