2011-01-07 19 views
6

में रेडियो बटन का चयन करें कुछ बहुत ही बुनियादी jQuery के साथ एक छोटी सी समस्या है, मैं एक टेबल सेल पर क्लिक करने में सक्षम होना चाहता हूं, और उसके बाद यह स्वचालित रूप से रेडियो बटन का चयन कर लेता है।टीडी पर क्लिक करें, jQuery

HTML:

<table> 
    <tr> 
    <td> 
    1<br> 
    <input type="radio" name="choice" value="1"> 
    </td> 
    <td> 
    2<br> 
    <input type="radio" name="choice" value="2"> 
    </td> 
    <td> 
    3<br> 
    <input type="radio" name="choice" value="3"> 
    </td> 
    </tr> 
    </table> 

jQuery:

$("td").click(function() { 

    $(this).closest('input:radio').attr('checked',true); 

}); 

किसी भी मदद वास्तव में सराहना की जाएगी, धन्यवाद! इस चयनकर्ता

+0

चूंकि उत्तर पहले से ही सही हैं, इसलिए मैं यहां केवल जोड़ दूंगा कि '.closest()' ट्रॉवर्सिंग ** ऊपर ** डीओएम पेड़ के लिए है, उदा। '' या '

' प्राप्त करने के बजाय, प्राप्त करना। –

उत्तर

12

उपयोग:

$('input:radio', this).attr('checked', true); 

या find विधि का उपयोग कर:

$(this).find('input:radio').attr('checked', true); 

यहाँ है अपने कोड की तरह दिखना चाहिए कैसे:

$("td").click(function() { 
    $(this).find('input:radio').attr('checked', true); 
}); 
+2

संदर्भ के रूप में उपयोग किए जाने पर jQuery कन्स्ट्रक्टर में 'this' को लपेटने की कोई आवश्यकता नहीं है,' $ ('इनपुट: रेडियो', यह) 'पर्याप्त है। –

+0

आपको बहुत बहुत धन्यवाद! हालांकि, एक त्वरित बात यह है कि जब रेडियो बटन चुना जाता है तो मैं कक्षा बदल रहा हूं, लेकिन जब आप सेल पर क्लिक करते हैं तो यह काम नहीं करता है, भले ही रेडियो बटन चुना गया हो? \t $ ("टीडी इनपुट [प्रकार = रेडियो]") बाँध ('परिवर्तन क्लिक', function() { \t \t $ ('टीडी') removeClass ('चुना');।। \t \t $ (इस)। पैरेंट ('टीडी')। एडक्लास ('चयनित'); \t}); – Nick

+1

@ बॉक्स 9: किसी और भ्रम से बचने के लिए अपडेट किया गया :) – Sarfraz

2

प्रयास करें

$(this).find('input:radio').attr('checked','checked'); 
+0

आपको बहुत धन्यवाद :) – Nick

+0

आपका स्वागत है निक –

2

निकटतम के बजाय खोजने का प्रयास करें।

$(this).find('input:radio').attr('checked',true); 
+0

जेरार्ड आपने मुझे 4 मिनट तक हराया! तर्क :) –