2013-03-13 5 views
0

사용자가 제품 수량을 업데이트 할 때 총 가격을 업데이트하는 기능이 있습니다. 양식이 생성되면 합계가 전체를 업데이트하지는 않지만 페이지를 새로 고침하면 작동합니다. 나는 .on 함수를 사용해야한다고 생각하지만 확실하지 않습니다.생성 된 양식을 사용하여 수량 업데이트

$('.qty').keyup(function(event){ 
    var total = parseFloat($('#total').text()); 
    var newTotal = 0; 
    var id = this.id.replace('qty-',''); 
    var qty = $('#qty-'+id).val(); 

    $('ol li').each(function(idx, li){ 
     var lId = li.id.replace('cart-',''); 
     var price = $('#price-'+lId).text(); 
     var lQty = $('#qty-'+lId).val(); 
     newTotal += parseFloat(price) * parseFloat(lQty); 
    }); 

    $('#total').html(newTotal.toFixed(2)); 

    $.ajax({ 
     type: "POST", 
     url: "resources/changeQty.php", 
     data:{ id: id, qty: qty }, 
     cache: false, 
    }); 

}); 

텍스트 필드에 대한 코드는 이것이다 :

<input type="text" name="newQty" id="qty-'.$productId.'" class="qty" size="2" maxlength="3" value="1" /> 
+0

을 설명하지 ... 그래서 내가하지 않을 경우 페이지가로드 – Peeyush

+0

작동하는지

죄송합니다 당신이 무슨 뜻인지 이해하고, 이것이 JQuery와 – rob

답변

0

데이터베이스가 제대로 업데이트되는 경우, 문제가 자바 스크립트 가격 계산 (중간 부분)에 있습니다.

는 또한 #total 요소 섹션을 게시해야하지만, 내 생각 엔이 정확하지 않은 것을 다음과 같습니다

$('#total').val(newTotal.toFixed(2)); 
: #total가 입력이

$('#total').html(newTotal.toFixed(2)); 

경우로 교체한다

+0

아주 새로운 미안 메신저 같은 총 외모 :

총 : £ <스팬 ID = "총">

편집 : 시도한 val,하지만 전체를 업데이트하지 못했습니다. – rob

+0

@rob qu를 바꿀 때'0'으로 설정됩니까? 반감? – jeroen

+0

내가 val을 사용하면 총을 변경하지 못했습니다. – rob

0

keyup 함수를 사용하는 대신 "Peeyush"가 제안한 .on 함수를 사용했습니다. 이 게시물을 봐 후 : 이것에

$('.qty').keyup(function(event){}); 

: Does jQuery.on() work for elements that are added after the event handler is created?

내가이 변경

$('#mainCart').on("keyup",".qty",function(e){}); 

가 "의 keyup"는 트리거 이벤트 입니다 ".qty"는 slector는이며, 이벤트를 트리거하는 것,이 경우 "키 업" 누군가가 ".qty"키를 누를 때 기능이 원한다. 그게 아주 잘 그 이유는 ... 그래서 .ready 함수 내에서 같은 논리를 사용의 최대 당신은 키의 모든 물건을하고있는

관련 문제