2017-10-21 26 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