비슷한 문제가 몇 가지 있습니다. 그러나 제 경우에는 그 중 아무 것도 작동하지 않는 것으로 알고 있습니다.JQuery 이벤트가 실행되지 않음 처음 클릭
$(document).ready(function() {
CartCount();
$('.product-item input[type="submit"]').on('click', CartCount);
});
function CartCount() {
var cartItems = 0;
var cartItemTypes = iGetCookie("NumberOrdered", 0);
var cartItem;
for(i = 1; i <= cartItemTypes; i++) {
cartItem = String(GetCookie("Order." + i)).split("|");
cartItems += parseInt(cartItem[1]);
}
$('.top-cart-count').html(cartItems);
}
코드는 두 번째 클릭 후 완벽하게 작동하지만 결코 첫째 :
나는이 JQuery와 코드 싹둑 있습니다. 두 번째 클릭 후 .top-cart-count는 이전 클릭에서 표시되어야하는 cartItems 값을 표시합니다. 어떤 아이디어?
편집 : 무슨 일인지 잘 모르겠다면 죄송합니다. 실제로 쿠키가 여러 개 있습니다. 사용자가 주문한 모든 유형의 항목과 각 항목 유형에 대해 1을 합한 값은 1입니다. 각 개별 유형에 대한 쿠키 내에서 색인 1에 해당 수량을 포함하는 배열이 있습니다. CardCount()는 기본적으로 정렬 된 항목이있는 경우 모든 유형에 대한 모든 수량을 요약합니다 (적어도 하나의 유형). 기본적으로 항목 수를 업데이트하고 양식을 제출할 때 업데이트 된 횟수를 표시하려고합니다. 기본적으로 다른 유형의 숫자를 저장하는 쿠키는 0으로 설정되어 있으므로 값을 업데이트하지 않는 한 표시 전에 add 함수를 호출 할 필요가 없다고 생각합니다.
내 HTML :
<form onSubmit="return AddToCart(this)">
<input type="submit" value="Add to Cart">
</form>
왜 CartCount()를 호출하고 있습니까? 이미 콜백 일 때로드시에? – zer00ne
@ zer00ne .top-cart-count는 기본적으로 cartItems가 쿠키 값인 동안 0으로 설정됩니다. cartItems를로드 할 때 표시하고 클릭 수를 업데이트하고 싶습니다. – Wallie
쿠키 나 HTML과 같은 실제 데이터의 예제가 없으므로 OK입니다. 코드를 완벽하게 복제 할 수는 없지만 작동하는 데모는 결코 적습니다. – zer00ne