3

動画スポットのデータベースを構築しようとしています。メインページはスポット一覧となっており、確認・修正が可能です。私がやりたいのは、チェックされたスポットの ID が自動的にカートに追加され、Cookie として保存されるカート システムを構築することです。そうすれば、ユーザーはすべてをチェックしたまま、複数のページを閲覧できます。

これまでのところ、すべての場所にチェックボックスがあり、チェックすると、チェックボックスのIDを配列に追加してCookieとして保存する関数が呼び出されます。

jquery を使用して Cookie を取得できます。私がする必要があるのは、スポットをループして印刷するときに、そのスポット ID が Cookie に含まれているかどうかを確認することです。これにより、PHP を介してチェック済みとして設定するかどうかを設定できます。これは可能ですか?これを達成するためのより良い方法はありますか?

これが私がこれまでに持っているものです。

$(document).ready(function(){

    var checkedItems = [];

    $('.spotCheck').click(function(){
        var currentID = this.id;
        checkedItems.push(currentID);
        updateCookie();
    });


    function updateCookie(){
        $.cookie('itemList',checkedItems);
    }


    $('#mainContainer').click(function(){
        $('#textInCenter').html($.cookie('itemList') );
    });

});

チェックボックスをクリックすると、配列checkedItemsにIDが追加され、mainContainerをクリックすると表示されるので、現在配列にある項目を確認できます。ページをブラウズすることができ、Cookie は配列に残ります (現在、Cookie を削除する方法はありませんが、現時点では心配していません)。

では、スポットのリストを印刷するときに、配列をチェックして ID がそこにあるかどうかを確認するにはどうすればよいでしょうか?

4

1 に答える 1

1

あなたが探しているものに基づいて、私はこれがあなたのために働くと思います:

for (var i = 0; i < checkedItems.length; i++)
{
    var elm = $('#' + checkedItems[i]);
    if (elm.length > 0)
    {
        //element with the id exists.
        elm.attr('checked', true);
    }
 }
于 2012-08-09T17:54:48.220 に答える