私は動的リストを扱っています。これがマークアップと、それを表示するために使用される html です。
markup += '<li><a href="#fbfullpostviewpage" id="addPostToLocalStorage" data-rel="dialog" data-transition="pop" data-overlay-theme="e" data-inline="true"><img src="' + thumb_url + '">' +'<h4>' + name + '</h4><p>' +'posted this photo....</p><p>'+likes+'<img src="images/facebook-like-16.png"></p></a></li>';
これはループ内にあるため、すべてのリスト項目に対して実行されます。そしてループの後、私は
$('#newsfeedposts').append(markup);
$('#newsfeedposts').listview("refresh");
ただし、リストの各項目をクリックすると、ローカル ストレージに追加したいと考えています。上記のコードの直後にこれを行い、
$('a').bind('click', function(){
localStorage.setItem("fbclickedPost", JSON.stringify(post));
console.log(post);
alert("this post was added to local storage");
// showDetailedPost(post);
var retrievedData = localStorage.getItem("fbclickedPost");
var facebookPost2 = JSON.parse(retrievedData);
console.log(facebookPost2);
それは機能し、配列アイテムをコンソールに記録しますが、問題は、リストでクリックされたアイテムに関係なく、常にリストの最後のアイテムのみをローカルストレージに追加しますが、クリックされている現在のアイテムを追加したいということですon、ローカル ストレージに。
どんな助けでもいいです!私は長い間苦労してきました。