2016-02-29 31 views
-1

的,我有以下的jQuery函數,增加了7個文本框,並把總的總計文本框:jQuery的更新總文本框

$(document).ready(function() { 
    $('.class2').keyup(function() { 
    var sum = 0; 
    $('.class2').each(function() { 
     sum += Number($(this).val()); 
    }); 
    $('#GrandTotal').val((sum).toFixed(2)); 
    }); 
}); 

的7個文本框是由另一功能填充。當輸入數量時,這些文本框會自動填充數量乘以價格。我遇到的問題是,直到您從具有計算出的價格的文本框中跳出之後,總的文本框纔會被填充。但是,如果我直接在文本框中輸入價格(不使用數量),則會立即更新總文本框。有什麼我可以做的,我會輸入一個數量後更新總文本框?該頁面位於www.pfacmeeting.org/badgeform2.php。感謝您的幫助。

-cdr6800

回答

0

當您自動填充的文本框,試圖觸發keyup事件,使用.trigger()功能:

$(".class2").trigger("keyup"); 

你應該改變你的腳本:

$('input[name="BadgeQuantity"]').keyup(function(){ 
    var a = 50; 
    var b = $(this).val(); 
    $('input[name="BadgeTotal"]').val((a * b).toFixed(2)); 
    $(".class2").trigger("keyup"); 
}); 

$('input[name="ThursdayBreakfast"]').keyup(function(){ 
    var a = 42; 
    var b = $(this).val(); 
    $('input[name="ThursdayBreakfastTotal"]').val((a * b).toFixed(2)); 
    $(".class2").trigger("keyup"); 
}); 

$('input[name="ThursdayLunch"]').keyup(function(){ 
    var a = 53; 
    var b = $(this).val(); 
    $('input[name="ThursdayLunchTotal"]').val((a * b).toFixed(2)); 
    $(".class2").trigger("keyup"); 
}); 

$('input[name="FridayBreakfast"]').keyup(function(){ 
    var a = 42; 
    var b = $(this).val(); 
    $('input[name="FridayBreakfastTotal"]').val((a * b).toFixed(2)); 
    $(".class2").trigger("keyup"); 
}); 

$('input[name="FridayLunch"]').keyup(function(){ 
    var a = 53; 
    var b = $(this).val(); 
    $('input[name="FridayLunchTotal"]').val((a * b).toFixed(2)); 
    $(".class2").trigger("keyup"); 
}); 

$('input[name="FridayDinner"]').keyup(function(){ 
    var a = 115; 
    var b = $(this).val(); 
    $('input[name="FridayDinnerTotal"]').val((a * b).toFixed(2)); 
    $(".class2").trigger("keyup"); 
}); 

$('.DrawingTickets').change(function(){ 
    var selectedValue = parseFloat($(this).val()); 
    $('#DrawingTicketsTotal').val((selectedValue).toFixed(2)); 
    $(".class2").trigger("keyup"); 
}); 


    $('.class2').keyup(function() { 
    var sum = 0; 

    $('.class2').each(function() { 
     sum += Number($(this).val()); 
    }); 

    $('#GrandTotal').val((sum).toFixed(2)); 

    }); 
+0

感謝Gothdo 。我會添加這一行還是用這個替換函數中的某一行?我究竟在哪裏放?謝謝。 – cdr6800

+0

@ cdr6800我更新了我的答案。 –

+0

Gothdo,這仍然需要標出數量文本框來更新總文本框。 – cdr6800