2009-07-09 1 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); 

आप आईडी से कुछ का चयन करना चाहते हैं, तो आप ऐसा कर सकते हैं:

var myData = {}; 

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

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

तो फिर तुम तक पहुँच सकते हैं इस तरह अपनी सेटिंग्स:

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

यह ध्यान देने योग्य है कि यदि आपके पास तत्व है तो '$ (तत्व) .डेटा (" mydata ") से' $ .data (element, "mydata") '' का उपयोग करने के लिए यह अधिक प्रदर्शन करने वाला है। –

1

मुझे अब कोशिश करने के लिए बहुत समय नहीं मिला है, लेकिन कुंजी के खिलाफ एक साधारण स्ट्रिंग को संग्रहीत करने के बजाय, इसके खिलाफ ऑब्जेक्ट क्यों स्टोर न करें?

jQuery डॉक्स व्याख्या करने के लिए ...

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

मुझे पता है कि कैसे आप पर हो।

+0

लेकिन मैं वस्तुओं की एक सूची स्टोर करने की कोशिश कर रहा हूं ... –

+0

क्षमा करें - मुझे उपयोगकर्ता को पूरी सरणी रखना चाहिए। मैं देख सकता हूं कि एक्टिव ने एक ही समाधान प्रदान किया है, लेकिन एक सरणी के साथ, और आपने इसे एक्ट्रीप किया है। मुझे खुशी है कि आपको समाधान मिल रहा है और चल रहा है। – belugabob

+0

यद्यपि आपकी मदद के लिए धन्यवाद :) –

0

आप स्टोर करने के लिए सूचियों स्टोर करने के लिए सरणियों और JSON वस्तुओं का उपयोग कर सकते की-वैल यू जोड़े

<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> 
संबंधित मुद्दे