2017-10-21 25 views
0

我有一個表格與表格。在選擇更改乘以兩個選擇值與jQuery

我希望在每次更改表單時將數量乘以單位價格並將結果放入一個輸入。

我的JS代碼實際上這個人是:

$('select.BIL_item_quantity, select.BIL_item_id').on('change', function() { 
    var quantity = $(this).closest('select.BIL_item_quantity').find(':selected').val(); 
    var rate = $(this).closest('select.BIL_item_id').find(':selected').data('item-rate'); 
    $(this).closest('tr').find('input.BIL_item_total_rate').val(quantity*rate); 
}); 

但它不工作。

有任何幫助嗎?

謝謝。

https://jsfiddle.net/uvdv812z/1/

回答

1

一些修改和優化:

$('select.BIL_item_quantity, select.BIL_item_id').on('change', function() { 
    var parent = $(this).parents("tr:first"); 
    var quantity = parent.find('select.BIL_item_quantity').val(); 
    var rate = parent.find('select.BIL_item_id').find(':selected').data('item-rate'); 
    parent.find('input.BIL_item_total_rate').val((parseInt(quantity) * parseInt(rate)).toFixed(2)); 
    }); 

演示: https://jsfiddle.net/lotusgodkk/uvdv812z/3/

+0

何哇!它正在工作。謝謝。最後一件事:如果總數在逗號後沒有任何數字,我該如何保留最後的'.00'? – user8201518

+0

@ user8201518使用parseFloat代替parseInt –

+0

它使相同。 :( – user8201518