2012-05-05 5 views
0

Я использую Extjs4, у меня есть RadioGroup и я хочу, чтобы получить проверенное значение кнопки радио, для этого я использовал слушатель следующим образом,ExtJS: Как получить значение проверяемого радиокнопки

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

     } 
    } 
}); 

Когда я проверяю кнопку «да», условие не выполняется, и оба предупреждения срабатывают. Как получить значение выбранного переключателя?

ответ

0

Во-первых, вы должны использовать то же имя для каждой радиостанции в той же RadioGroup.

Во-вторых, замените change обработчик RadioGroup с 2 change обработчика, по одному для каждой радиостанции:

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

Вы не должны использовать change обработчик в RadioGroup, потому что при нажатии на непроверенной радио, change событие будет срабатывать дважды (один, когда старое радио изменяется с «checked» на «unchecked», когда новое радио изменяется с «unchecked» на «checked»)

+0

Спасибо, это работает – user1321824

0

Используйте то же имя для радиокнопок изменить: имя «Radio1» и «Radio2» на уникальное имя, потому что варианты в той же группе

Смежные вопросы