0

非表示フィールドが 3 つあるフォームがあります。ボタンをクリックすると

<div class="buttons">
  <button id="but-1">1</button>
  <button id="but-2">2</button>
  <button id="but-3">3</button>
  <button id="but-4">4</button>
</div>

一部のフィールドは一部のショーを非表示にします

私のフォーム

<div class="form">
  <div class="pass-1 form_pass">    
    <p><span>Pass1:</span><input id="catalogs_pass_1" name="catalogs[pass_1]" type="text" /></p>
  </div>
  <div class="pass-2 form_pass" style="display: none;">
    <p><span>Pass2:</span><input id="catalogs_pass_2" name="catalogs[pass_2]" type="text" /></p>
  </div>
  <div class="pass-3 form_pass" style="display:none;">
    <p><span>Pass3:</span><input id="catalogs_pass_3" name="catalogs[pass_3]" type="text" /></p>
  </div>
  <div class="pass-4 form_pass" style="display:none;">
    <p><span>Pass4:</span><input id="catalogs_pass_4" name="catalogs[pass_4]" type="text" /></p>
  </div>
  <div class="form_pass">
   <p><span>Phone:</span><input id="catalogs_phone" name="catalogs[phone]" type="text" /></p>
   <p><span>Email:</span><input id="catalogs_email" name="catalogs[email]" type="text" /></p>
   <p><input class="submit-rez" id="catalogs_submit" name="commit" type="submit" value="submit" /><p>
  </div>

すべて正常に動作しますが、ユーザーがフィールド ページの更新内容の検証に合格しないと、表示されているすべてのフィールドが表示されなくなります。表示されたすべてのフィールドを保存する方法

http://jsfiddle.net/dVFaV/98/

Cookie プラグインを使用して、1 つのボタンだけに保存​​フィールドを作成しました。他の 3 つのボタンの保存 Cookie を作成するにはどうすればよいですか?

アドバイスをありがとう!

4

1 に答える 1

1

これを試して

$(document).ready(function () {
    $('#but-1').click(function () {
        $('.pass-1').fadeIn(300);
        $('.pass-2').fadeOut(100);
        $('.pass-3').fadeOut(100);
        $('.pass-4').fadeOut(100);
        $.cookie('content1', 1);
    });

    $("#but-2").click(function () {
        $(".pass-2").show();
        $(".pass-3").hide();
        $(".pass-4").hide();
        $.cookie('content1', 2)
    });
    $("#but-3").click(function () {
        $(".pass-2").show();
        $(".pass-3").show();
        $(".pass-4").hide();
        $.cookie('content1', 3)
    });
    $("#but-4").click(function () {
        $(".pass-2").show();
        $(".pass-3").show();
        $(".pass-4").show();
        $.cookie('content1', 4)
    });

    if ($.cookie('content1')) {
        var pass = parseInt($.cookie('content1'));
        for(var i = 1; i <= pass; i++) {
           var str = "pass-"+i;
            $("."+str).show();
        }
    };
});

フィドル

: jquery.cookies の URL も変更しました。github から読み込まないでください。これにより、プレーンテキストファイルが提供されます。

于 2013-10-07T07:34:23.840 に答える