0

私は動的リストを扱っています。これがマークアップと、それを表示するために使用される 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、ローカル ストレージに。

どんな助けでもいいです!私は長い間苦労してきました。

4

1 に答える 1