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

まず、同じRadioGroup内のすべての無線に同じ名前を使用する必要があります。

次に、changeRadioGroupのハンドラーchangeを各無線機に1つずつ、合計2つのハンドラーに置き換えます。

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

チェックされていないラジオをクリックすると、イベントが2回発生するため(1つは古いラジオが「チェック済み」から「チェックなし」に、もう1つは新しいラジオが「チェックなし」から「チェック済み」に変わる)change、RadioGroupのハンドラーを使用しないでください。 change")

于 2012-05-05T11:22:28.580 に答える
0

オプションが同じグループにあるため、ラジオボタンの変更に同じ名前を使用します。名前「radio1」と「radio2」を一意の名前に変更します。

于 2012-05-05T06:51:58.143 に答える