0

我有一组单选按钮。当单选按钮发生变化时,会触发一个事件。检查是否选择了某个单选按钮,如果是,则显示一个文本框。

<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 粘贴了两次,替换为后退按钮。按钮也在索引页面上,而不是部分页面上。

4

0 回答 0