2012-07-27 4 views
0

에 총을 계산 나는이 말에 총계로에 행의 입력의 합계를 계산 한 후 추가 일부 코드, 다음이 현재 작동되는 코드 : 이제는 jQuery를 입력

$(":text[name='qty[]'],:text[name='rate[]']").keyup(function() 
{ 
    var totalamount = 0.00; 
    $("ul.rowData").each(function() 
    { 
     var quantity = +$(this).find(":text[name='qty[]']").val() || 0; 
     var rate = +$(this).find(":text[name='rate[]']").val() || 0; 
     var subtotal = quantity * rate; 
     $(this).find(":text[name='price[]']").val(subtotal.toFixed(2)); 
     totalamount += subtotal; 
    }); 
    $("#totalprice").val(totalamount.toFixed(2)); 
}); 

내가 나는 필드의 합계가 자동으로 당신이 그들에 번호를 추가 할 때 계산되지 않는 행 추가 클릭하면

$('.mainForm').find('.addItem').click(function() 
{ 
    $('.invoiceItems').append('<ul class="rowData">' + 
    '<li class="txtLg"><span class="sep">Item:</span><input type="text" name="item[]" maxlength="255" value=""></li>' + 
    '<li class="txtLg"><span class="sep">Description:</span><input type="text" name="description[]" maxlength="255" value=""></li>' + 
    '<li class="txtSm"><span class="sep">Rate:</span><input type="text" name="rate[]" maxlength="10" value="0.00"></li>' + 
    '<li class="txtSm"><span class="sep">Qty:</span><input type="text" name="qty[]" maxlength="5" value="1"></li>' + 
    '<li class="txtSm"><span class="sep">Price:</span><input type="text" name="price[]" maxlength="10" value="0.00"><input type="hidden" name="itemid[]" value="0"></li>' + 
    '</ul>').fadeIn(500); 
    return false; 
}); 

내 질문은 : 다음 필드의 행을 추가하는 행 추가 버튼이 있습니다. 어떤 아이디어?

답변

0

당신의 바인드 $().keyup(function(){}} 동적 페이지 요소

$(":text[name='qty[]'],:text[name='rate[]']").live('keyup',function(){ 
    ... 
} 
+0

에 추가로 작동하지 않는 것은 큰 덕분에 작품! – neoszion

0

당신은 기본적으로 전체를 계산하고, 페이지에 있음을 추가하는

: 그렇게 할 코드가 없기 때문에 그들은 다시 계산되지 않습니다. 원본을 수정할 때 합계를 다시 계산하려면 몇 가지 추가 코드가 필요합니다. 아마도 기존 코드 인 BTW를 다시 사용할 것입니다.

.keyup().change() jQuery 이벤트를 살펴보십시오. 전자는 키가 릴리스 될 때마다 트리거되고 후자는 입력이 포커스를 잃을 때 트리거됩니다. 아마도 두 필드 중 하나를 사용하여 합계 필드를 업데이트하려고 할 것입니다.

$('.sep').on('change', function(e) { 
    // stuff 
});