Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery计算小计和合计并显示结果_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery计算小计和合计并显示结果

Javascript 如何使用jquery计算小计和合计并显示结果,javascript,jquery,Javascript,Jquery,我有一张有两项的购物单。 第一项是一个数字框,用于确定旅行中有多少成年人。 第二项是一个数字框,用于确定旅行中有多少老年人。 例如: 我想当我在第一个数字框中选择2时,数字框旁边的小计显示计算结果(一人的价格*2) 也适用于老年组 我发现了一个与选择和选项值一起工作的代码: update_amounts(); $('select').change(update_amounts); function update_amounts() { v

我有一张有两项的购物单。 第一项是一个数字框,用于确定旅行中有多少成年人。 第二项是一个数字框,用于确定旅行中有多少老年人。 例如: 我想当我在第一个数字框中选择2时,数字框旁边的小计显示计算结果(一人的价格*2) 也适用于老年组

我发现了一个与选择和选项值一起工作的代码:

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()