2009-07-09 9 views
5

私は、オブジェクトのリストを表の行と関連付ける必要があるページで作業しています。私はjQueryを使用しています。私はもっ​​とjQuery.dataを使用して項目のリストを保存する

id=4,setting=2 
id=3,setting=1 
... 

のように私はリストは可能性がどのくらいかわからない、それが空である可能性が必要なのに対し、

jQuery.dataは、単にキーでデータの一部を関連付けるようです。

これを行うには賢明な方法がありますか?

答えて

8

あなたがこれを行うことができますので、あなたは、jQueryのデータとして何かを保存することができます。

var myData = [ { id: 4, setting: 2 }, [ id:3, setting:1 ] }; 

$("#myitem").data("mydata", myData); 

あなたがidで何かを選択したい場合は、あなたがこれを行うことができます:

var myData = {}; 

myData[4] = 2; 
myData[3] = 1; 

$("#myitem").data("mydata", myData); 

次にあなたがアクセスすることができます

var value = $("#myitem").data("mydata")[3]; // returns 1 
+0

要素を持っているなら、 '$(要素).data(" mydata ")'より '$ .data(要素、" mydata ")' –

1

私は今、それを試してみるのに大した時間はありませんが、キーに対して単純な文字列を保存するのではなく、オブジェクトを保存してみてください。

$("div").data("blah", {id: 4,setting: 2}); 
var myBlah = $("div").data("blah"); 
var id = myBlah["id"]; 
var setting = myBlah["setting"]; 

は私はあなたが取得する方法を知ってみましょう... jqueryのドキュメントを言い換えする

+0

しかし、私はオブジェクトのリストを保存しようとしています... –

+0

申し訳ありません - 私はユーザ全体を持っている必要があります。私はactivaが同じ解決法を提供していたが、配列を持っていて、あなたがそれを手に入れたことが分かる。あなたが解決策を見つけて実行していることがうれしいです。 – belugabob

+0

あなたの助けをありがとう:) –

0

配列を使用してリストとJSONオブジェクトを格納し、key-valを格納することができますue対。

<div id="DIV1"></div> 
<div id="DIV2"></div> 
<div id="DIV3"></div> 
<div id="DIV4"></div> 
<table><tbody><tr id="TR1"><td><td/></tr></tbody></table> 
<script type="text/javascript"> 
$(function() { 
    $("#TR1").data("blah", [{id: 4, setting: 2}, {id: 3, setting: 1}]); 
    $("#DIV1").text($("#TR1").data("blah")[0].id); 
    $("#DIV2").text($("#TR1").data("blah")[0].setting); 
    $("#DIV3").text($("#TR1").data("blah")[1].id); 
    $("#DIV4").text($("#TR1").data("blah")[1].setting); 
}); 
</script> 
関連する問題