сохранить показ / скрыть div в многошаговой форме - PullRequest
0 голосов
/ 28 июля 2011

У меня многоэтапная форма, и я показываю / скрываю 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 голосов
/ 28 июля 2011

Как ни странно, удаление аргумента длительности ('fast') из начального .hide(), похоже, решает проблему.

Вот рабочий пример: http://jsfiddle.net/qb2sk/

...