2011-01-13 4 views
25

के साथ रेडियो समूह जो मैंने एकत्र किया है, एक रेडियो बटन के लेबल को क्लिक करने योग्य बनाने के लिए, आपको दोनों तत्वों के लिए एक ही "नाम" विशेषता मान असाइन करना होगा।क्लिक करने योग्य लेबल

मेरी समस्या यह है कि जब आपके पास एक से अधिक रेडियो बटन होते हैं, तो "हाँ या नहीं" प्रकार का चयन कहें। इसे एक स्थान पर क्लिक करने के लिए, अन्य अक्षमता यह है कि दोनों रेडियो बटन "नाम" विशेषता समान मान होनी चाहिए।

क्या यह दोनों करना संभव है?

<label for="no">No</label> 
<input type="radio" name="no" value="no" /> 

<label for="yes">Yes</label> 
<input type="radio" name="yes" value="yes" /> 

उत्तर

44

id (का नाम नहीं) विशेषता लेबल के for विशेषता के आधार पर भेजा जाना चाहिए। यह इस तरह से होना चाहिए: http://jsfiddle.net/zzsSw/

<label for="no">No</label> 
<input type="radio" name="mygroup" id="no" value="no" /> 

<label for="yes">Yes</label> 
<input type="radio" name="mygroup" id="yes" value="yes" /> 
+1

भावना बनाता है। अब मैं सिर्फ दोनों तत्वों के लिए सही नाम असाइन कर सकता हूं? http://jsfiddle.net/zzsSw/1/ –

37

तुम भी आईडी के बिना लेबल लिख सकते हैं:

<label> 
    <input type="radio" name="mygroup" /> 
    My clickable caption 
</label> 

या चेकबॉक्स

<label> 
    <input type="checkbox" name="mygroup[]" /> 
    My clickable caption 
</label> 
+5

यह उत्तर मेरा से बेहतर है। – Ish

+0

मैं असहमत हूं कि यह बेहतर है। यदि आपको पुराने आईई का समर्थन करना है, तो नाम वाले तत्व 'document.getElementById' द्वारा पाए जा सकते हैं, जो आईडी और नाम दोनों खोजेगा। टिप्पणियों के तहत http://msdn.microsoft.com/en-us/library/ie/ms536437(v=vs.85).aspx देखें। यदि आईई 7 या नीचे अभी भी आपके लिए एक लक्ष्य है (भले ही आप IE10 का समर्थन कर रहे हों लेकिन आईई 7 मानकों मोड आदि में), आपको वास्तव में इन तत्वों पर नाम और आईडी डालना चाहिए। –

+0

मैंने इस तरह के बहुत सारे HTML लिखा और अब ऐसा करने पर खेद है। मैं प्रोग्राम के लिए कैप्शन को स्थानांतरित करने के लिए कोई स्पष्ट तरीका नहीं देख सकता एक टेबल लेआउट। – Cuadue