2012-08-08 4 views
3

비디오 스팟 용 데이터베이스를 구축하려고합니다. 메인 페이지는 스팟들의리스트이며, 스팟들을 확인하고 수정할 수 있습니다. 내가하고 싶은 일은 장바구니 시스템을 구축하는 것인데, 체크 된 스팟의 ID가 자동으로 장바구니에 추가되고 쿠키로 저장됩니다. 그런 식으로 여러 페이지를 탐색 할 수 있으며 모든 항목을 확인한 상태로 유지할 수 있습니다.'카트 관리'시스템을 구축하지 않았습니다.

지금까지 모든 체크 상자에 확인란을 지정하면 체크 박스의 ID를 배열에 추가하고 쿠키로 저장하는 기능을 호출합니다.

jquery를 통해 쿠키를 검색 할 수 있습니다. 내가해야 할 일은 반점을 반복하고 인쇄 할 때 그 반점 ID가 쿠키에 있는지 확인하는 것입니다. 따라서 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이 있습니다를 클릭합니다. 페이지를 탐색 할 수 있고 쿠키가 배열에 남아 있습니다. 쿠키를 제거 할 방법이 없지만 지금은 걱정하지 않습니다.

그래서 어떻게 스폿 목록을 인쇄 할 때 ID가 있는지 어레이를 검사 할 수 있습니까?

내가이 당신을 위해 일한다고 생각 무엇을 찾고 있는지를 바탕으로
+0

확실하지,하지만 당신은 $ .filter' 나'와 배열을 반복 할 수 있습니다 'checkedItems.forEach'를 사용하고 일치하는 항목이 있는지 확인하십시오. – jli

+0

어쩌면 내가 갇혀있는 일을 완전히 이해하지 못했을 수도 있지만 배열에 값이 있는지 알아야 할 필요가있는 경우에는 [indexOf] (https://developer.mozilla.org/en-US/)를 사용하십시오. docs/JavaScript/Reference/Global_Objects/Array/indexOf) – MrOBrian

+0

하지만 어떻게 PHP에 반영합니까? javascript에서 indexOf를 사용할 수는 있지만 적절한 상자 (일치하는 ID가있는 항목)를 확인하는 방법은 무엇입니까? – patricko

답변

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); 
    } 
}