0

これが私のシナリオです。ユーザーが回答するいくつかの質問があり、それらを保存して、アンケートの最後に各質問と回答のリストをレンダリングできるようにします。もちろん、グローバル変数を使用することもできますが、問題はサイトに他のアンケートがあることです。私の解決策は、jQuery の.data(). 私の問題は、同様のデータを追加しようとすると、以前のデータが上書きされることです。簡単な例を次に示します。

<div id="test"></div>

$("#test").data({name:"foo",answer:"bar"});
$("#test").data({name:"john",answer:"doe"});

console.log($("#test").data()); //logs name:"john",answer:"doe"

両方の値を保持するにはどうすればよいですか?

4

3 に答える 3

2

以前のデータを上書きしているため、配列内の単一の呼び出しで両方のレコードを追加します。

ライブデモ

$("#test").data([{name:"foo",answer:"bar"}, {name:"john",answer:"doe"}]);

配列などのデータにアクセスし、

alert($("#test").data()[0].name);
alert($("#test").data()[1].name);

コメントに基づいて編集します。データにレコードを次々に追加する場合は、キーと値のペアを使用できます。

ライブデモ

$("#test").data("1", {name:"foo",answer:"bar"});
$("#test").data("2", {name:"john",answer:"doe"});

@Heart が指摘したように、このデータが重要である場合、クライアントへの保存はクライアントに対して開かれており、変更することができます。SSL を使用し、ユーザーから取得したとおりに投稿すると、データ セキュリティが侵害されるのを防ぐことができます。

于 2013-08-04T06:58:21.600 に答える