अद्यतन: गैर-लेबल तत्वों को लेबल के रूप में उपयोग करने के बारे में पावन के उत्तर के तहत आपकी टिप्पणी को देखा, उदाहरण के लिए, तत्वों का विस्तार करें। मेरी पहली प्रतिक्रिया है क्यों? लेकिन अगर आप वास्तव में आप करना चाहते हैं यह आसानी से कोड के बहुत सारे लिख सकते हैं और आपकी जावास्क्रिप्ट में तत्व आईडी के बहुत सारे हार्डकोड (जो पथ आप अपने मौजूदा कोड के साथ इस समय हैं प्रतीत हो रहा है) के बिना कर सकते हैं।
, तत्व आप छद्म लेबल के रूप में उपयोग करना चाहते हैं में एक data
विशेषता का उपयोग करें इस प्रकार है:
<span data-labelfor="name">Name</span>
<input type="checkbox" id="name">
और फिर आप सेटअप कुछ सामान्य jQuery के साथ क्लिक हैंडलर उस विशेषता के साथ सभी तत्वों का चयन कर सकते हैं :
$(document).ready(function() {
$("[data-labelfor]").click(function() {
$('#' + $(this).attr("data-labelfor")).prop('checked',
function(i, oldVal) { return !oldVal; });
});
});
कार्य डेमो पता चलता है कि एक छोटे से समारोह एक लेबल और एक div अंतराल के व्यवहार को लागू करने: http://jsfiddle.net/TFD72/
मूल जवाब:
पवन जैसा कि पहले ही बताया गया है, तो आप इस अपने आप अपने लेबल में for
विशेषता का उपयोग करके कर सकते हैं, लेकिन जहां तक क्यों अपने कोड काम नहीं किया:
आपका कॉल CheckCheckBox()
को
CheckCheckBox($('lblAssociateWithCheckBox'), $('Checkbox1'));
लेकिन समारोह उन मानकों को इलाज है जैसे कि वे तत्वों आप कार्रवाई करने के लिए चाहते हैं की आईडी पकड़े तार थे: इस प्रकार समारोह पैरामीटर के रूप में दो jQuery वस्तुओं से गुजर रहा है।तो आप अपने समारोह रखना चाहते हैं के रूप में है बस पैरामीटर का सही तरह पारित करने के लिए जिस तरह से आप इसे कहते बदलने के लिए:
CheckCheckBox('lblAssociateWithCheckBox', 'Checkbox1');
कि त्रुटि आप बोली ठीक करना चाहिए।
हालांकि, अपने कार्य करने के लिए लेबल के हर क्लिक पर "चेक किया गया" के रूप में है चेकबॉक्स सेट हो जाएगा, भले ही वह पहले से ही जांच की गई।
$('#' + Checkbox1).prop('checked', function(i, oldVal) { return !oldVal; });
(। लेकिन फिर से, बस इसे for
विशेषता का उपयोग html मार्कअप में करते हैं)
जैसे पवन ने कहा, आपको इसके लिए जेएस की आवश्यकता नहीं है, यह HTML का मूल तरीका है। 'के लिए' लेबल की विशेषता चेकबॉक्स की 'id' से मेल खाती है। –
@Pavan लेबल हमेशा नहीं है 'हो label'.May यह' है span'.I जांच 'span' नहीं ले करता है' के लिए attribute'.I बार-बार यह काम पूरा कर तो मैं एक समारोह जो किसी भी जहां फोन चाहते हैं। –