我有一组单选按钮。更改单选按钮时会触发事件。检查是否选择了某个单选按钮,如果是,则显示一个文本框。
<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('');
}
}
});
这很好用!但是......这是一个部分页面,当用户分别按下/后退时,该页面被隐藏和取消隐藏。按下后,然后返回。以某种方式隐藏文本框的脚本会被调用两次!?!不是在它显示的时候。 主索引页面上的下一个/后面的代码:
$('#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两次,取而代之的是后退按钮。此外,按钮位于索引页面上,而不是部分页面。