2011-01-07 14 views
9

मेरे पास थंबनेल के अंतर्गत चेकबॉक्स हैं, यहां: http://jsfiddle.net/pAYFa/ मैं थंबनेल पर क्लिक करके ऐसा करना चाहता हूं, चेकबॉक्स चेक हो जाता है। मुझे लगता है कि यह जावास्क्रिप्ट के साथ किया जा सकता है, मैं जावास्क्रिप्ट में किसी भी मदद की सराहना करता हूं। धन्यवाद।किसी छवि पर क्लिक करके चेकबॉक्स को चेक करना

+0

बस। तत्वों के लिए आईडी अद्वितीय होना चाहिए। –

उत्तर

19

बस छवि को एक लेबल में रखें, और डुप्लिकेट आईडी हटा दें। मैं अपने पहले एक के लिए यह किया है: http://jsfiddle.net/karim79/pAYFa/1/

दस्तावेज़ में प्रत्येक आईडी अद्वितीयspecification के अनुसार होना चाहिए।

6

अच्छा, सबसे आसान तरीका आपकी छवि के चारों ओर एक लेबल रखना होगा। यह वही करेगा जो आप चाहते हैं:

<label for="img1"><img class="img" src="http://s5.tinypic.com/30v0ncn_th.jpg" /></label> 
<input type="checkbox" class="chk " checked="checked" id="img1" name="img1" value="0" /> 

कोई जावास्क्रिप्ट आवश्यक नहीं है! हालांकि आपको अपने <img> टैग से id="img1" को हटाना होगा, क्योंकि आपके पास एक ही आईडी के साथ एक से अधिक तत्व नहीं हो सकते हैं।

1

जैसा कि उन्होंने उपरोक्त उत्तर दिया है, आपको जावास्क्रिप्ट के माध्यम से ऐसा करने की आवश्यकता नहीं है, अगर आप छवि पर ईवेंट हैंडलर को कैसे संलग्न करते हैं, इस बारे में उत्सुक हैं। आपको छवि आईडी के अलावा चेकबॉक्स आईडी को किसी अन्य चीज़ में बदलने की आवश्यकता है। मैं इसे chk2

document.getElementById('img2').onclick = function() //attach to onclick 
{        
     var checkbox = document.getElementById('chk2'); //find checkbox 

     checkbox.checked = !checkbox.checked; //toggle the checked status 
} 
1

नाम दिया jQuery के साथ इस बच्चों का खेल है:

$('img').click(function(){ 
    $(this).next().click(); 
}) 

बिना, यह एक छोटे कठिन हो जाता है। मैं अपने चेक बॉक्स विशिष्ट आईडी के (img1_cb और img2_cb) दे दी है और प्रत्येक छवि जैसे के लिए क्लिक करें हैंडलर कहा:

<img class="img" src="http://s5.tinypic.com/30v0ncn_th.jpg" id="img1" onclick="toggle('img1_cb')" /> 

फिर जावास्क्रिप्ट था:

नोट के
function toggle(what){ 
    var cb = document.getElementById(what); 
    cb.checked = !cb.checked; 
} 
संबंधित मुद्दे