我有一组单选按钮。当单选按钮发生变化时,会触发一个事件。检查是否选择了某个单选按钮,如果是,则显示一个文本框。
<div class="row">
<div class="span3">
<label>@Html.RadioButtonFor(model => model.HearAboutUs, "radWebsite", new { @id = "radWebsite" }) Website</label>
<label>@Html.RadioButtonFor(model => model.HearAboutUs, "radFromEmployee", new { @id = "radFromEmployee" }) An employee</label>
<label>@Html.RadioButtonFor(model => model.HearAboutUs, "radEvent", new { @id = "radEvent" }) At an event</label>
...
<label>@Html.RadioButtonFor(model => model.HearAboutUs, "radOther", new { @id = "radOther" }) Other</label>
</div>
<div class="span3">
@Html.ValidationMessageFor(model => model.HearAboutUs)
</div>
</div>
剧本:
$('input:radio[name="HearAboutUs"]').change(function () {
$('input[type=radio].input-validation-error').parent().removeClass('error-label');
if ($('#radOther').is(':checked')) {
if ($('#HearAboutUsDescription').is(':hidden')) {
$('#HearAboutUsDescription').show("blind");
}
} else {
if ($('#HearAboutUsDescription').is(':visible')) {
$('#HearAboutUsDescription').hide("blind");
$('#HearAboutUsDescription').val('');
}
}
});
这很好用!但是......这是一个部分页面,当用户分别按下下一个/后退时,它被隐藏和取消隐藏。按next后,然后返回。隐藏文本框的脚本以某种方式被调用了两次!?!但是,不是在显示时。主索引页面上的下一个/后退代码:
$('#nextBtn').click(function () {
$('#panel1').hide("", function () {
$('#panel2').show("blind");
$('#backBtn').show();
});
});
$('#backBtn').click(function () {
if ($('#panel2').is(":visible")) {
$('#headerTitle').text("Your Details");
$('#panel2').hide("", function() {
$('#panel1').show("blind");
$('#backBtn').hide();
});
}
if ($('#panel3').is(":visible")) {
$('#headerTitle').text("About Your Home");
$('#panel3').hide("", function() {
$('#panel2').show("blind");
});
}
if ($('#panel4').is(":visible")) {
$('#headerTitle').text("Water Use In The House");
$('#panel4').hide("", function() {
$('#panel3').show("blind");
$('#nextBtn').show();
$('#nextBtn').html("Next");
});
}
});
关于我可能做错了什么的任何想法?我对此有点生气,呵呵:)谢谢
编辑 = 刚刚注意到我将下一个 btn 粘贴了两次,替换为后退按钮。按钮也在索引页面上,而不是部分页面上。