jQuery सेट रेडियो बटन




radio-button (8)

मैं एक रेडियो बटन सेट करने की कोशिश कर रहा हूँ। मैं इसे मूल्य या आईडी का उपयोग करके सेट करना चाहता हूं।

मैंने यही कोशिश की है।

$('input:radio[name=cols]'+" #"+newcol).attr('checked',true);

newcol रेडियो बटन की आईडी है।

शायद थोड़ा सा संपादन क्रम में है।

रेडियो बॉक्स के दो सेट हैं जो एक कोल्स के साथ हैं और दूसरे पंक्तियों के साथ हैं। तो मैं आईडी का उपयोग न करने में बिंदु देखता हूं। मेरी गलती। तो मेरे पास एक उदाहरण है:

<input type="radio" name="rows" class="listOfCols" 
   style="width: 50%; " value="Site"></input>

तथा

<input type="radio" name="cols" class="listOfCols" 
   style="width: 50%; "  value="Site"></input>

आईडी को हटा दिया गया है, और मुझे सही सेट करने की आवश्यकता है।


आप बस उपयोग कर सकते हैं:

$("input[name='cols']").click();

चूंकि newcol रेडियो बटन की आईडी है, इसलिए आप इसे नीचे के रूप में उपयोग कर सकते हैं।

$("#"+newcol).attr('checked',true);

आपके चयनकर्ता में आप किसी दिए गए आईडी के साथ अपने रेडियो बटन के कुछ नेस्टेड तत्व लाने का प्रयास कर रहे हैं। यदि आप रेडियो बटन देखना चाहते हैं, तो आपको चयनकर्ता में यह रेडियो बटन चुनना चाहिए और कुछ और नहीं:

$('input:radio[name="cols"]').attr('checked', 'checked');

यह मानता है कि आपके मार्कअप में निम्न रेडियो बटन है:

<input type="radio" name="cols" value="1" />

यदि आपके रेडियो बटन में एक आईडी थी:

<input type="radio" name="cols" value="1" id="myradio" />

आप सीधे एक आईडी चयनकर्ता का उपयोग कर सकते हैं:

$('#myradio').attr('checked', 'checked');

इसे इस्तेमाल करे:

$("#" + newcol).attr("checked", "checked");

मुझे attr("checked", true) साथ समस्याएं हैं, इसलिए मैं इसके बजाय उपरोक्त उपयोग करता हूं।

इसके अलावा, यदि आपके पास आईडी है तो आपको चयन के लिए उस अन्य सामान की आवश्यकता नहीं है। एक आईडी अद्वितीय है।


.filter() का उपयोग करना भी काम करता है, और आईडी, मान, नाम के लिए लचीला है:

$('input[name="cols"]').filter("[value='Site']").attr('checked', true);

( इस ब्लॉग पर देखा गया)


चुना गया उत्तर इस मामले में काम करता है।

लेकिन सवाल रेडियोग्रुप और गतिशील आईडी के आधार पर तत्व ढूंढने के बारे में था, और उत्तर प्रदर्शित रेडियो बटन को अप्रभावित भी छोड़ सकता है।

यह लाइन स्क्रीन पर भी बदलाव दिखाते समय वास्तव में क्या चुना गया था का चयन करता है।

$('input:radio[name=cols][id='+ newcol +']').click();

आपको 'input:radio[name=cols]' आवश्यकता क्यों है। अपने एचटीएमएल को नहीं जानते, लेकिन यह मानते हुए कि आईडी अद्वितीय हैं, आप बस यह कर सकते हैं।

$('#'+newcol).prop('checked', true);

आपका चयनकर्ता input:radio[name=cols] के वंशज के लिए देखता है input:radio[name=cols] तत्व जिसमें newcol की आईडी है (अच्छी तरह से उस चर का मान)।

इसके बजाए इसे आजमाएं (चूंकि आप आईडी द्वारा किसी भी तरह से चयन कर रहे हैं):

$('#' + newcol).prop('checked',true);

यहां एक डेमो है: http://jsfiddle.net/jasper/n8CdM/1/

इसके अलावा, jQuery 1.6 के रूप में एक संपत्ति को बदलने की perferred विधि है .prop() : http://api.jquery.com/prop





radio-button