2011-01-10 5 views
0

私は、送信後またはユーザーがページを更新した後、以前の状態(または選択した項目)を保存するサイドメニューを実装しようとしています。jqueryでクッキーを更新する

私は、メニューの選択項目のインデックスを保存するためにクッキーを使用することに決めました。

ただし、毎回動作していません。どうしたの?

はここに私のコードです:

$(document).ready(function() { 
      var cookie = $.cookie("SelectedNode"); 

      $('.t-link').click(function() { 
         var name = "SelectedNode"; 
         var index = getIndex($(this)); 
         $.cookie(name, null); //delete previous value 
         $.cookie(name, index); 
         alert("It should save: " + index + " but it saved: " + $.cookie("SelectedNode")); 
      }); 
}); 
+1

これにはCookieを使用しないことをおすすめします。あなたは、サーバーへのリクエストごとにHTTPオーバーヘッドを増やしています。 –

+0

あなたは私にそれをすることをお勧めしますか? – tina

答えて

0

私はこのように行くだろう、私はあなたがクッキーの値を削除する必要はないと思う、それだけで既存のものより優先されます。

$(document).ready(function() { 
      var name = "SelectedNode"; 
      $('.t-link').click(function() { 
         var cookie = $.cookie(name, getIndex($(this))); 
      }); 
}); 
+0

同じことをする...既存のものを上書きして時々値を更新しないことがある... – tina

0

常に変化する値を持つ同じCookieを更新することは、使用しているブラウザによっては時折不安定になることがあります。 2年前にこれをやろうとしたとき、FirefoxとSafariの両方がPITAであることを覚えています。

とにかく、全く異なるタクトを考えて、値を隠しフォームフィールドに読み書きするだけで、その値は単にマスターページから返されます。

関連する問題