尝试了很多种方法都无法解决,
(1)sex.items[1].checked;直接报错
(2)sex.items.items[1].checked;没报错但是没效果
(3)网上说的一种重写setValue()方法。我看原理是和第二种方法一样的,重写了之后调用sex.setValue(1)也不能使其选中第二个选项
Ext.override(Ext.form.RadioGroup, {
getValue: function() {
var v;
this.items.each(function(item) {
if ( item.getValue() ) {
v = item.getRawValue();
return false;
}
});
return v;
},
setValue: function(v) {
if(this.rendered)
this.items.each(function(item) {
item.setValue(item.getRawValue() == v);
});
else
for(k in this.items) this.items[k].checked = this.items[k].inputValue == v;
}
}); 我的radioGroup:
var sex = new Ext.form.RadioGroup({ xtype: 'radiogroup', fieldLabel: '性别', x: 5, y: 125, items: [ {name:"rb-auto",inputValue:'1',boxLabel:'男',checked:true}, {boxLabel: '女', name: 'rb-auto', inputValue: '2'} });
(1)sex.items[1].checked;直接报错
(2)sex.items.items[1].checked;没报错但是没效果
(3)网上说的一种重写setValue()方法。我看原理是和第二种方法一样的,重写了之后调用sex.setValue(1)也不能使其选中第二个选项
Ext.override(Ext.form.RadioGroup, {
getValue: function() {
var v;
this.items.each(function(item) {
if ( item.getValue() ) {
v = item.getRawValue();
return false;
}
});
return v;
},
setValue: function(v) {
if(this.rendered)
this.items.each(function(item) {
item.setValue(item.getRawValue() == v);
});
else
for(k in this.items) this.items[k].checked = this.items[k].inputValue == v;
}
}); 我的radioGroup:
var sex = new Ext.form.RadioGroup({ xtype: 'radiogroup', fieldLabel: '性别', x: 5, y: 125, items: [ {name:"rb-auto",inputValue:'1',boxLabel:'男',checked:true}, {boxLabel: '女', name: 'rb-auto', inputValue: '2'} });
ext 4.0.7 没有问题