2012-07-27 315 views
1

我有一些複選框與被標記了這樣的相關領域:複選框不檢查

<div class="job-position" id="bartending"> 
    <div> 
     <input type="checkbox" id="bartending-checkbox" name="bartending" value="Bartending" /> 
     Bartending 
     <br /> 
     <span class="experience"></span> 
     <!-- html here completed with jquery --> 
    </div> 
<div class="reference">Reference 
     <span class="instructions">(Name &amp; Phone)</span> 
     <br /> 
     <input type="text" name="bartending-reference" /> 
    </div> 
</div> 

和一些jQuery的是這樣的:

$('input:checkbox').toggle(function(event){ 
    var jobPositionId=event.target.id 
    $('div.job-position' + '#' + jobPositionId + ' select' + ',' + 'div.job-position' + '#' + jobPositionId + ' div.reference') 
     .fadeIn(200); 
    $('input#' + jobPositionId).parent('div').find('span.experience').html(some html here); 

},function(event){ 
    var jobPositionId=event.target.id 
    $('div.job-position' + '#' + jobPositionId + ' select' + ',' + 'div.job-position' + '#' + jobPositionId + ' div.reference') 
     .fadeOut(200); 
    $('input#' + jobPositionId).parent('div').find('span.experience').html(''); 
}); 

當複選框檢查,jQuery的淡入淡出在一個元素中寫入一些html。唯一的問題是,當您點擊它時,複選框不會收到「檢查」。

+0

[複選框沒有得到檢查時,使用jQuery切換](http://stackoverflow.com/questions/3837390/checkbox-not-getting-checked-when-using-jquery-toggle),更不用提一個快速Google搜索顯示了其他幾個類似的問題。 – 2012-07-27 22:17:44

回答

3

嘗試以下操作:

$('input:checkbox').change(function(event){ 
    if (this.checked) { 
     var jobPositionId = event.target.id 
     $('div.job-position' + '#' + jobPositionId + ' select' + ',' + 'div.job-position' + '#' + jobPositionId + ' div.reference').fadeIn(200); 
     $('input#' + jobPositionId).parent('div').find('span.experience').html("some html here"); 
    } else { 
     var jobPositionId=event.target.id 
     $('div.job-position' + '#' + jobPositionId + ' select' + ',' + 'div.job-position' + '#' + jobPositionId + ' div.reference').fadeOut(200); 
     $('input#' + jobPositionId).parent('div').find('span.experience').html(''); 
    } 
}); 

DEMO

請注意toggle()已被棄用。

+1

+1,我太遲了39秒:) – 2012-07-27 22:17:17

+1

+1的演示。 – Tom 2012-07-27 22:18:38

+0

優秀。感謝您的全面徹底。 – Rrryyyaaannn 2012-07-28 02:52:48