2010-12-02 24 views
8

पर आधारित div को टॉगल करें मुझे यकीन नहीं है कि इसे कैसे पूरा किया जाए। मैं क्या करना चाहता हूं एक चेकबॉक्स मूल्य के आधार पर एक div को छिपाना है। टॉगल के लिए यह मेरा कोड है।चेकबॉक्स मान

किसी भी मदद

.always सराहना करते हैं, साथ ही चेकबॉक्स

$(document).ready(function() { 
      $('.always').click(function() {     
       $('#dates').toggle(); 
      }); 
     }); 
+0

ऑफ-विषय: दस्तावेज़ का उपयोग करते समय। मुझे लगता है कि उपनाम/शॉर्टकट 'jQuery (फ़ंक्शन ($) {}) का उपयोग करना बेहतर है; ' – zzzzBov

+0

टिप के लिए धन्यवाद। क्या इसका कोई कारण है? –

उत्तर

27

.toggle() एक बूलियन लेता है इस तरह:

$(function() { 
    $('.always').change(function() {     
    $('#dates').toggle(!this.checked); 
    }).change(); //ensure visible state matches initially 
}); 

You can test it out here। मैं उपर्युक्त में मानता हूं कि #dates छिपा हुआ है अगर .always चेक किया गया है, तो यह वही होगा।

+0

यह किसी कारण से मेरे लिए काम नहीं करता है। मैंने चेकबॉक्स को डिफ़ॉल्ट रूप से चेक करने का प्रयास किया और यह इसका जवाब नहीं देगा, यह अभी भी दिखाई दे रहा है। –

+0

@ Dejan.S - क्या आपको किसी भी प्रकार की त्रुटि मिल रही है? –

+0

ऐसा नहीं है कि मैं कर सकता हूं। मेरी फायरबग मुझे किसी अजीब कारण के लिए जेएस डीबग करने नहीं देगी। –

9
$('.always').change(function() { 
$('#dates').toggle(!this.checked); 
}); 
+0

परिवर्तन() इसके लिए बहुत बेहतर है क्योंकि यह तब भी काम करता है जब चेकबॉक्स किसी अन्य माध्यम से बदल जाता है। – jxpx777

+0

धन्यवाद बीमार कोशिश करें और इसे ध्यान में रखें .. –

+0

'.toggle() 'का उपयोग करके आप दृश्यमान राज्य मैचों को मान रहे हैं और किसी अन्य तरीके से नहीं बदला गया है, यह सुनिश्चित करने के लिए बेहतर है कि यह बूलियन को * सुनिश्चित करें * यह मेल खाता है :) –

संबंधित मुद्दे