2011-04-07 7 views
10

का उपयोग कर रहा है, तो वहाँ एक रास्ता एक रेडियो बटन समूह नाम गतिशील अर्थात पाने में [name=some_variable] होने से निम्नलिखित 2 क्लिक कार्यों का अनुकूलन है पूछना चाहूँगा रेडियो बटन समूह का नाम मिलता है।गतिशील रूप से jQuery

मैंने कोशिश की:

$('input:radio').click(function() { 
    alert($('input:radio:checked').attr('name')); 
}); 

लेकिन यह हमेशा मुझे पहला रेडियो बटन समूह का नाम क्लिक किया देता है।

$(document).ready(function(){ 
    $('input:radio[name=q1]').click(function() { 
     var ans1 = $('input[name=q1]:radio:checked').val(); 
     getUserAnswer(1, ans1); 
    }); 

    $('input:radio[name=q2]').click(function() { 
     var ans2 = $('input[name=q2]:radio:checked').val();     
     getUserAnswer(2, ans2); 
    });        
}); 
<body> 
    <ol> 
     <li><p>Q1<br /> 
      <input type="radio" id="q1A" name="q1" value="A" />Q1 A<br /> 
      <input type="radio" id="q1B" name="q1" value="B" />Q1 B<br /> 
      <input type="radio" id="q1C" name="q1" value="C" />Q1 C<br /> 
      <input type="radio" id="q1D" name="q1" value="D" />Q1 D<br /> 
     </p></li> 
     <li><p>Q2<br /> 
      <input type="radio" id="q2A" name="q2" value="A" />Q2 A<br /> 
      <input type="radio" id="q2B" name="q2" value="B" />Q2 B<br /> 
      <input type="radio" id="q2C" name="q2" value="C" />Q2 C<br /> 
      <input type="radio" id="q2D" name="q2" value="D" />Q2 D<br />   
     </p></li> 
    </ol> 
</body> 

उत्तर

21
$('input:radio').click(function() { 
    console.log($(this).attr('name')); 
}); 

आप क्लिक पर तत्वों के नए सेट का चयन कर रहे हैं, लेकिन आप तो वर्तमान तत्व की attr की जरूरत है, आप के साथ 'इस'

+0

बहुत बहुत धन्यवाद! पता चला कि इस.नाम का उपयोग भी चाल करता है। धन्यवाद! – gisc

2

कुछ है जैसे कि यह उल्लेख करने के लिए की जरूरत है निम्नलिखित कार्य करना चाहिए:

$('input').click(function() { 
    var thisName = $(this).attr('name'); 
    var qNum = thisName.substring(1); 
    var ans2 = $('input[name=' + thisName + ']:radio:checked').val(); 
    getUserAnswer(thisName, ans2); 
}); 
+0

अगर कोई मेरे लिए कोड प्रारूपित कर सकता है, तो यह कमाल होगा; आईफोन एक अजीब मनोदशा में प्रतीत होता है ... =/ –

+0

धन्यवाद डेविड। दुर्भाग्यवश कोड स्वरूपण केवल पूर्वावलोकन मोड में दिखाई दिया। – gisc

+0

इसे फिक्स्ड, मुझे नहीं पता कि यह पहले क्यों काम नहीं करता था, लेकिन मैंने अभी सभी सफेद जगहों को हटा दिया और उन्हें फिर से जोड़ा। –