我有一些带有相关字段的复选框,标记如下:
<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 & 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 :(得分: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('');
}
});
请注意,toggle()
已弃用。