2011-07-28 12 views
0

多段階のフォームがあり、ラジオ入力の選択に基づいてdivを表示/非表示にしています。以下のコードはあなたが望む入力をクリックすると動作しますが、次のページに移動して再び戻ると、どのオプションが選択されたのかを覚えていますが、両方の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> 

答えて

0

不思議な初期.hide()から期間引数('fast')の除去は、問題を解決しているようです。

ここに実例があります:http://jsfiddle.net/qb2sk/

+0

奇妙な!しかし、ありがとう:-) – Scooter5150

関連する問題