`
babydeed
  • 浏览: 236319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Extjs中RadioGroup的获取值和赋值

    博客分类:
  • Ext
EXT 
阅读更多

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;  
            }  
        }  
    }  
}); 

//由于使用loadRecord()方法无法为radiogroup赋值 所以加上以上代码


var record = Ext.data.Record.create([
    {name: "rg",mapping:"rg"},
]);

var myNewRecord = new record ({rg:"2"});

 

 

var radiogroup= new Ext.form.RadioGroup({
                fieldLabel : "radioGroup",
                items : [{
                            boxLabel : '是',
                            inputValue : "1",
                            name : "rg",
                            checked : true
                        }, {
                            boxLabel : '否',
                            name : "rg",
                            inputValue : "2"
                        }]
            });

var _formpanel = new Ext.form.FormPanel({
        labelAlign : "right",
        labelWidth : 150,
        loadMask : true,
  renderTo:Ext.getBody(),
        frame : true,
        defaults : {
            width : 150
        },
        items : [radiogroup],
        buttonAlign : "center",
        buttons : [{
            text : "获取radioGroup值",
            handler : function() {
                alert(_formpanel.getForm().getValues()["rg"] );

            alert(_formpanel.getForm().getValues().rg);
             alert(radiogroup.getValue());//三种方式获取所选值

            }
        },{
            text : "Set radioGroup值2",
            handler : function() {
               radiogroup.setValue(2);//把否选中
            }
        },{
            text : "Set radioGroup值1",
            handler : function() {
               _formpanel.findByType("radiogroup")[0].setValue(1);//把是选中
            }
        },{
            text : "loadRecord赋值方式",
            handler : function() {
               _formpanel.form.loadRecord(myNewRecord);//把否选中
            }
        }]]
    });

 

 

分享到:
评论
2 楼 moment52 2013-04-09  
我的问题是再form上显示radioGroup男女,再弹出个框显示radioGroup男女,底下的form的男女是有赋值,而弹出的框却没有,如果底下不是有男女的form,弹出来的男女form就有值,太诡异了,LZ不知道你有遇到过这个问题吗,我要的效果是无论底下是否是男女form,我弹出的男女form都有值
1 楼 693593336 2012-07-26  
好,正好用上

相关推荐

Global site tag (gtag.js) - Google Analytics