【发布时间】:2015-09-11 00:04:50
【问题描述】:
我有一点 jQuery。在选中一个复选框时,我希望屏幕的某些部分淡出,当我再次选中它时,它们会显示出来。它在检查框时执行淡出部分,但不是淡入。JQuery 部分看起来像:
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function() {
$('#chkUnsubAll').change(function() {
if ($(this).attr("checked")) {
$('#HCV').fadeIn();
$('#optIn').fadeIn();
$('#Duopa').fadeIn();
return;
}
else {
$('#HCV').fadeOut();
$('#optIn').fadeOut();
$('#Duopa').fadeOut();
}
});
});
</script>
相关标记为:
<div class="row">
@Html.CheckBoxFor(m => m.UnsubscribeAll, new { id = "chkUnsubAll"})
@Html.Label("Unsubscribe from ALL AbbVie communications")
</div>
<hr/>
<div id="optIn">
<div class="row">
<div class="col-md-12">Optin Status:</div>
</div>
</div>
<div id="HCV">
<div class="row">
@Html.CheckBoxFor(m => m.HCV)
@Html.LabelFor(m => m.HCV)
</div>
<hr />
<div class="row">
<div class="col-md-offset-1">Consumer</div>
</div>
<div class="row">
<div class="col-md-offset-2">
@Html.CheckBoxFor(m => m.HCCEPhone)
@Html.Label("HCCE - Phone")
</div>
</div>
<div class="row">
<div class="col-md-offset-2">
@Html.CheckBoxFor(m => m.HCCEMail)
@Html.Label("HCCE - Mail")
</div>
</div>
<div class="row">
<div class="col-md-offset-2">
@Html.CheckBoxFor(m => m.HCCEEMail)
@Html.Label("MCCE - Email")
</div>
</div>
<div class="row">
<div class="col-md-offset-2">
@Html.CheckBoxFor(m => m.HCCEInPerson)
@Html.Label("MCCE - In Person")
</div>
</div>
<div class="row">
<div class="col-md-offset-1">HCP</div>
</div>
<div class="row">
<div class="col-md-offset-2">
@Html.CheckBoxFor(m => m.ClinicalDataMail)
@Html.Label("Clinical Data - Mail")
</div>
</div>
<div clsss="row">
<div class="col-md-offset-2">
@Html.CheckBoxFor(m => m.ClinicalDataEmail)
@Html.Label("Clinical Data - Email")
</div>
</div>
</div>
<hr/>
<div class="row" id="Duopa">
@Html.CheckBoxFor(m => m.DUOPA)
@Html.LabelFor(m => m.DUOPA)
</div>
首先,jQuery 对我来说似乎落后了。当检查走 if 路径时,我期望它,而不是 else。其次,一旦这些 div 淡出,当我取消选中该框时,它们不会淡出。我做错了什么?
【问题讨论】:
标签: jquery asp.net-mvc checkbox