Javascript 如何使用jquery计算小计和合计并显示结果
我有一张有两项的购物单。 第一项是一个数字框,用于确定旅行中有多少成年人。 第二项是一个数字框,用于确定旅行中有多少老年人。 例如: 我想当我在第一个数字框中选择2时,数字框旁边的小计显示计算结果(一人的价格*2) 也适用于老年组 我发现了一个与选择和选项值一起工作的代码:Javascript 如何使用jquery计算小计和合计并显示结果,javascript,jquery,Javascript,Jquery,我有一张有两项的购物单。 第一项是一个数字框,用于确定旅行中有多少成年人。 第二项是一个数字框,用于确定旅行中有多少老年人。 例如: 我想当我在第一个数字框中选择2时,数字框旁边的小计显示计算结果(一人的价格*2) 也适用于老年组 我发现了一个与选择和选项值一起工作的代码: update_amounts(); $('select').change(update_amounts); function update_amounts() { v
update_amounts();
$('select').change(update_amounts);
function update_amounts() {
var sum = 0.0;
$('#tickets > tbody > tr').each(function () {
var qty = $(this).find('option:selected').val();
var price = $(this).find('.price').text().replace(/[^\d.]/, '');
var amount = (qty * price);
sum += amount;
$(this).find('.subtotal').text('{{ \App\Helpers\Themes::getSymbolForCurrency() }}' + amount);
});
$('#total').val('{{ \App\Helpers\Themes::getSymbolForCurrency() }}' + sum);
};
我根据自己的需要编辑了以下代码:
$('input').change(update_amounts);
function update_amounts() {
var sum = 0.0;
$('#tickets > tbody > tr').each(function () {
var qty1 = $(this).find('#adults').val();
var qty2 = $(this).find('#senior').val();
var price = $(this).find('.price').text().replace(/[^\d.]/, '');
var amount = ((qty1+qty2) * price);
sum += amount;
$(this).find('.subtotal').text('{{ \App\Helpers\Themes::getSymbolForCurrency() }}' + amount);
});
$('#total').val('{{ \App\Helpers\Themes::getSymbolForCurrency() }}' + sum);
};
但它不起作用!
这是Html代码:
此图显示了我需要的内容:
忽略一个事实,即你不应该在一个页面上多次使用相同的
id
,如果你纠正了打字错误,上面的代码应该或多或少可以工作:\senior
=>\seniors
不工作它显示$nant输入值是一个字符串;您可能需要先将其转换为数字。您需要将值转换为数字,您可以对qty1、qty2、price或number()
,或+$(this)。查找(“#成人”).val()
,忽略您不应该在一页上多次使用相同的id
,如果你修正了输入错误,上面的代码或多或少会起作用:#senior
=>#seniors
不起作用,它显示$nant输入值是一个字符串;您可能需要首先将其转换为数字。您需要将值转换为数字,您可以使用parseInt、parseFloat来表示qty1、qty2、price或number()
,或+$(this)。find(“#成人”).val()