2011-01-04 11 views
0

にAjaxのクエリからのデータのレコードIDを保存する方法は、おそらくタイトルはかなり不可解である疑問が、私はそう私と一緒に裸してくださいここに自分自身を説明しよう:)はJQuery:dynamicly作成したHTML要素

のは、この構成を想定してみましょう:

  • サーバ側は、
  • クライアント側は、jQueryのアプリケーションは、そのPHPアプリケーションにAJAXリクエストを送信し、作成されたJSON形式のデータと要求(アイテムのリスト、単一アイテムの詳細、等)の応答をPHPアプリケーションであります受信したデータに対応するhtmlコンテンツ

例:クライアントが "A 'で始まる名前のすべての動物のリストを要求し、サーバーからjson応答を取得し、すべての"動物 "が動物記述または何かでdivのようなhtml gizmoを作成するそうですね。それは本当にどんなhtml要素であっても問題ではありませんが、そのレコードのidを "含む"ことによって特定のレコードを正確に指し示す必要があります。

ここに私のジレンマがあります:そのために "id"プロパティを使用するのは良い解決策ですか?

ID =「10」は、これが= 10

idを持つレコードの表現であるまたは多分私はいくつかのカスタムメイドでこのレコードIDを保存する必要があることを当然の表示のある

<div id="10" class="animal"> 
<p> 
This is animal of very mysterious kind... 
</p> 
</div> 

<div id="11" class="animal"> 
<p> 
And this one is very common to our country... 
</p> 
</div> 

:だから、のようになります

<record_id>10</record_id> 

と、厳密には(CSSセレクタ)であることを意味していたもののための「ID」を残すようなタグ?

データベースを更新したり、「動物」をいくつか削除したり、新しいものを作成したり、必要なものを作成したりするなどの作業に、レコードIDが必要です。すべての操作はJQueryで行い、ajaxリクエストと応答はhtmlインターフェースの動的作成でも視覚化されます。

私は、誰かがそのような種類のものに対処しなければならないと確信しています。だから、私はその話題に関するいくつかのヒントに感謝します。

答えて

1

。あなたは

$("element").data("record-id"); 

data()店、それが任意のメモリリークの問題から安全であるような方法でデータを使用することができます値を取得するには

$("element").data("record-id", 5); 

を使用することができるデータを記憶するように

data()メソッドhereについて詳しく読むことができます。

+0

私は、stackoverflowがどのようにして私のジレンマに対処するのかが大好きです:) – grapkulec

0

データメソッドを使用して、任意のデータを要素に格納してから取得する必要があります。例:

var elm = $('<li>').data('record_id', 5); 

とするだけで取得する:あなたは、この目的のためのjQuery APIによって提供さdata()を使用することができます

elm.data('record_id'); 
関連する問題