extjs 不用name的radio二选一如何实现
我知道把radio的name都设成一样的可以实现单选但是我现在必须是不一样的namename1和name2的两个radio按钮必须要单选怎么通过name来实现不可以用id...
我知道把radio的name都设成一样的可以实现单选
但是我现在必须是不一样的name
name1 和 name2的两个radio按钮必须要单选
怎么通过name来实现
不可以用id,不然画面会出错,只能通过name实现 展开
但是我现在必须是不一样的name
name1 和 name2的两个radio按钮必须要单选
怎么通过name来实现
不可以用id,不然画面会出错,只能通过name实现 展开
4个回答
展开全部
在选中事件里处理
选中name1时去判断name2是否选中,如果已选中,则取消选中;
选中name2时类似的去判断name1
参考一下:
xtype : 'radiogroup',
fieldLabel : '性别<font color=red>*</font>',
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);
}
}
}
}
});
放到你们框架就行
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);
}
}
}
}
});
放到你们框架就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询