在多步骤表单上保留show / hide div

时间:2011-07-28 15:58:28

标签: jquery hide show

我有一个多步形式,我根据无线电输入选择显示/隐藏div。当您单击所需的输入时,下面的代码有效,但如果我移动到下一页然后再返回,它会“记住”选择了哪个选项但是再次隐藏了两个div。有什么建议?

$(document).ready(function() {
  if($('form#enter-details-form').length) {
        $("div[id^='p_option_']").hide('fast');

        $("input[name='p_method']:checked").each(function() {
            $("#p_option_" + $(this).val()).show();
        });

        $("input[name='p_method']").click(function() {
            $("div[id^='p_option_']").hide();
        $("#p_option_" + $(this).val()).show();
        });
  }
});


<div class="form-radios">
    <label><input type="radio" class="form-radio" value="0" name="p_method" id="edit-p-method-0"> Option 1 </label>
    <label><input type="radio" class="form-radio" value="1" name="p_method" id="edit-p-method-1"> Option 2</label>
</div>

<div id="p_option_0">Show this for option 0</div>
<div id="p_option_1">Show this for option 1</div>

1 个答案:

答案 0 :(得分:0)

奇怪的是,从最初的'fast'删除持续时间参数(.hide())似乎可以解决问题。

以下是一个工作示例:http://jsfiddle.net/qb2sk/