2009-07-09 37 views
5

我正在處理一個頁面,我需要將一個對象列表與一行表格關聯起來,而我正在使用jQuery。使用jQuery.data來存儲項目列表

jQuery.data似乎只是一塊數據的一個關鍵,而關聯我需要更多像

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

我不知道這個名單可以維持多久,它可能是空的。

有沒有明智的做法呢?

回答

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 
1

我現在還沒有足夠的時間來嘗試它,但是不是按鍵存儲簡單的字符串,爲什麼不存儲對象呢?

套用jQuery的文檔...

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

讓我知道你上車。

+0

但我試圖存儲的對象列表... – 2009-07-09 10:50:08

+0

對不起 - 我應該有用戶整個陣列。我可以看到activa提供了相同的解決方案,但是使用了一個數組,並且已經對它進行了處理。我很高興你已經有了解決方案。 – belugabob 2009-07-09 15:27:51

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> 
相關問題