extjs 的radiogroup如何获取值一定要重写吗
2个回答
展开全部
不用重写的.
原生的 radiogroup的getValue() 方法返回的是一个对象. 对象包含了你所需要的内容, 也包含的 需要重写的那一部分内容, 完全没必要重写
看代码
var am_qq= new Ext.form.RadioGroup({fieldLabel: '上午', itemId:"am_qq",
items:[
{ boxLabel : '正常',inputValue : "0",name:'am_qq',},
{ boxLabel : '放假',inputValue : "1",name:'am_qq',},
{ boxLabel : '请假',inputValue : "2",name:'am_qq',},
{ boxLabel : '旷工',inputValue : "3",name:'am_qq',}]});
取值时使用
var aa=RadioGroup.getValue().getGroupValue() ;
aa 取得的就是选中选项的 inputValue
你好可用使用,
var aa=RadioGroup.getValue().inputValue ; //注意这里没有括号
得到选中项的值
var bb= RadioGroup.getValue().boxLabel; //注意这里没有括号
bb 取得是 标签的值 如 " 正常" "放假" 等
此外好包括一些其他信息如图
箭头所指的就是 getGroupValue()
希望能够帮到你
展开全部
重写下getValue方法
//RadioGroup重写的getValue和setValue
Ext.override(Ext.form.RadioGroup, {
getValue: function(){
var v;
if (this.rendered) {
this.items.each(function(item){
if (!item.getValue())
return true;
v = item.getRawValue();
return false;
});
}
else {
for (var k in this.items) {
if (this.items[k].checked) {
v = this.items[k].inputValue;
break;
}
}
}
return v;
},
setValue: function(v){
if (this.rendered)
this.items.each(function(item){
item.setValue(item.getRawValue() == v);
});
else {
for (var k in this.items) {
this.items[k].checked = this.items[k].inputValue == v;
}
}
}
});
使用:
var radiogroup= new Ext.form.RadioGroup({
fieldLabel : "是否是系统管理员",
width : 60,
items : [{
boxLabel : '是',
inputValue : 'true',
name : "sysAdmin"
}, {
boxLabel : '否',
name : "sysAdmin",
checked : true,
inputValue : 'false'
}]
});
radiogroup.getValue();//取值
//RadioGroup重写的getValue和setValue
Ext.override(Ext.form.RadioGroup, {
getValue: function(){
var v;
if (this.rendered) {
this.items.each(function(item){
if (!item.getValue())
return true;
v = item.getRawValue();
return false;
});
}
else {
for (var k in this.items) {
if (this.items[k].checked) {
v = this.items[k].inputValue;
break;
}
}
}
return v;
},
setValue: function(v){
if (this.rendered)
this.items.each(function(item){
item.setValue(item.getRawValue() == v);
});
else {
for (var k in this.items) {
this.items[k].checked = this.items[k].inputValue == v;
}
}
}
});
使用:
var radiogroup= new Ext.form.RadioGroup({
fieldLabel : "是否是系统管理员",
width : 60,
items : [{
boxLabel : '是',
inputValue : 'true',
name : "sysAdmin"
}, {
boxLabel : '否',
name : "sysAdmin",
checked : true,
inputValue : 'false'
}]
});
radiogroup.getValue();//取值
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询