0

我正在使用 Extjs4,我有一个无线电组,我想获取选中的单选按钮值,因为我使用了如下监听器,

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

      }
   }
});

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

4

2 回答 2

0

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

于 2012-05-05T06:51:58.143 回答
0

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

其次,将changeRadioGroup 的处理程序替换为 2 个change处理程序,每个无线电一个:

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

您不应该使用changeRadioGroup 中的处理程序,因为单击未选中的收音机时,该change事件将触发两次(当旧收音机从“已选中”更改为“未选中”时,当新收音机从“未选中”更改为“已选中”时) ")

于 2012-05-05T11:22:28.580 回答