EXtJs:如何获得已检查单选按钮的值

时间:2012-05-05 06:38:06

标签: extjs4

我正在使用Extjs4,我有一个radiogroup,我想获得检查的单选按钮值,因为我使用了如下的监听器,

var radiogroup = new Ext.form.RadioGroup({
    fieldLabel: 'Specimen ?',
    allowBlank: false,
    anchor: '85%',
    items: [
    {
      boxLabel: 'Yes',
      name: 'radio1',
      inputValue: 1
    },
    {
      boxLabel: 'No',
      name: 'radio2',
      inputValue: 2,
      checked:true
    }],
    listeners: {
      change : function(){                           
         if(createOrderForm.getForm().getValues()['radio1']==1){
            alert("yes"); 
         }else{
            alert("No");
         }

      }
   }
});

当我选中“是”按钮时,条件不满足并且两个警报都被触发。如何获取所选单选按钮的值?

2 个答案:

答案 0 :(得分:0)

对单选按钮使用相同的名称更改:将'radio1'和'radio2'命名为唯一名称,因为选项位于同一组

答案 1 :(得分:0)

首先,您应该为同一RadioGroup中的每个无线电使用相同的名称。

其次,用2 change处理程序替换RadioGroup的change处理程序,每个无线电一个:

change : function(){ 
     if (this.getValue()) { // checked.
        alert("yes"); // or "no" 
     }
}

你不应该使用RadioGroup中的change处理程序,因为当点击未经检查的无线电时,change事件将触发两次(一次旧电台从“已检查”变为“未选中”时,一,当新收音机从“未选中”变为“已选中”时