2009-01-05 10 views
7

मुझे रेडियोग्रुप में चयनित रेडियो बटन के मूल्य तक पहुंचने में कुछ कठिनाई हो रही है। मैंने फोरम और वेब पर अन्य पोस्ट में चर्चा के आधार पर कई अलग-अलग दृष्टिकोणों का प्रयास किया है। दुर्भाग्य से यह काम करने के लिए भाग्यशाली (या कुशल) नहीं है। निम्नलिखित फॉर्मपैनल कॉन्फ़िगरेशन के आधार पर मैं उम्मीद कर रहा था कि कोई मुझे दिखा सकता है कि समूह 'मेनफोन' में चयनित रेडियो का मूल्य कैसे प्राप्त किया जाए।अतिरिक्त रेडियो समूह - चयनित रेडियो बटन के मूल्य तक कैसे पहुंचे?

धन्यवाद!

यह इंगित करने के लिए अपडेट करना चाहता था कि मैं स्टैक ओवरफ्लो से प्रतिक्रिया प्राप्त करने में सक्षम था, जबकि EXT-JS फ़ोरम ने मुझे कोई सहायता प्रदान नहीं की थी। Stackoverflow जाने के लिए रास्ता!

मैट

function createForm(elem) { 
var myForm2 = new Ext.form.FormPanel({ 
    renderTo:elem, 
    width:425, 
    frame:true, 
    style:"margin: 10px auto 10px auto;", 
    items: [{xtype:'fieldset', 
      title: 'Contact Info', 
      autoHeight:true, 
      items :[new Ext.form.RadioGroup({ 
         fieldLabel: 'Main Phone', 
         vertical: false, 
         id:"mainPhone", 
         items: [ 
          {boxLabel: 'Home', name: 'id-1', inputValue: 'H', checked:true}, 
          {boxLabel: 'Work', name: 'id-1', inputValue: 'W'}, 
          {boxLabel: 'Other', name: 'id-1', inputValue: 'O'} 
         ]  

        }), 
        new Ext.form.TextField({ 
        id:"frm_CreateCustomerHomePhone", 
        fieldLabel:"Home Phone", 
        width:275, 
        allowBlank:true 
       }), 
       new Ext.form.TextField({ 
        id:"frm_CreateCustomerWorkPhone", 
        fieldLabel:"Work Phone", 
        width:275, 
        allowBlank:true 
       }) 
        new Ext.form.TextField({ 
        id:"frm_CreateCustomerOtherPhone", 
        fieldLabel:"Other Phone", 
        width:275, 
        allowBlank:true 
       }) 
    ]}]});    
} 

उत्तर

9

यह एक जंगली अनुमान के बारे में कुछ है, लेकिन कैसे इस बारे में:

myForm2.getForm().getValues()['id-1']; 
+0

यह एक ऐसा किया! बहुत धन्यवाद – Matty

-2
function get_radio_value() 
{ 
    for(var i=0; i < document.myForm.mainPhone.length; i++) 
    { 
     if(document.myForm.mainPhone[ i ].checked) 
     { 
      return document.myForm.mainPhone[ i ].value; 
     } 
    } 
} 
5

रेडियो समूह पर ही विधि getValue() वस्तु है कि वापस आ जाएगी चेक किया गया, अगर कोई है, अन्यथा, यह अपरिभाषित आता है।

(जिस तरह से मैं इनपुट के बजाय मूल्य निर्धारित करता हूं, मेरे बक्से के लिए वैल्यू, हालांकि मुझे नहीं लगता कि इससे काफी अंतर होता है, शायद यह अंतिम "getValue" पर होता है), मैं extjs 3.0 का उपयोग कर रहा हूं, और मेरा रेडियोग्रुप कॉन्फ़िगरेशन आपके से थोड़ा अलग है।

var checkedItem = Ext.getCmp('mainPhone').getValue(); 

if (checkedItem == undefined) return ''; 

return checkedItem.getGroupValue(); 
// The getGroupValue will return the value of the checked option in a group, 
// unfortunately, it only seems to work on the items and not the radiogroup 
// itself 
1

आप क्षेत्र के विशिष्ट मूल्य प्राप्त करना चाहते हैं, का उपयोग

myForm2.getForm().findField('id-1').getGroupValue(); 
3

मैं जानता हूँ कि इस सवाल का वर्ष है, लेकिन मैं संदर्भ के लिए इस जोड़ रहा। निम्न स्निपिट Ext 2.2 afaik के लिए मान्य है।

Ext.getCmp("mainPhone").items.get(0).getGroupValue(); 
0

सुनिश्चित नहीं हैं कि अगर यह बहुत आसान है, लेकिन मैं मूल्य (Ext 3.3.1 में) 'प्रदत्तमान' संपत्ति का उपयोग कर उपयोग करने में सक्षम था।

var radio = ...; 
var value = radio.inputValue; 
2

लो-टैन का उत्तर मेरे लिए काम करता है। मैं extjs 2.2.1 का उपयोग भी कर रहा हूं मेरे जैसा आपके पास ext.Form.Formpanel नहीं हो सकता है लेकिन केवल एक खोज बॉक्स और एक रेडियोग्रुप है। मैं रेडियो समूह से मूल्य प्राप्त करने के लिए इस कोड का उपयोग करता हूं।

मेरे रेडियो समूह:

var radiovalue= Ext.getCmp('sokspecs').items.get(0).getGroupValue() 
0

अगर आप MVC का उपयोग कर रहे है, शायद आप आईडी का उपयोग कर की अनदेखी करने की कोशिश:

var begrens_sok = new Ext.form.RadioGroup({ 
fieldLabel: 'Begrens søket', 
columns: 1, 
name: 'sokspecs', 
id:'sokspecs', 
items: [ 
     {boxLabel: 'Scientific name', name: 'sokspec', inputVale:'SN'}, 
     {boxLabel: 'Norsk navngruppe', name: 'sokspec', inputValue:'NNG'}, 
     {boxLabel: 'Norsk navnart', name: 'sokspec', inputValue:'NNA'}, 
     {boxLabel: 'Prosjektsøk', name: 'sokspec', inputValue:'PROJ'}, 
     {boxLabel: 'Fritekst søk', name: 'sokspec', inputValue:'FSOK', 'id':'sokspec', checked: true} 
] 
    }); 

जाँच radiobutton मूल्य मैं इस का उपयोग पाने के लिए। इसलिए समाधान में मूल्य प्राप्त करने के लिए समाधान में से एक

change : function(radioButton, newValue, oldValue, eOpts){ 
     console.log(newValue.individual); 
}