Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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_Multi Select - Fatal编程技术网

Javascript 计算多选中的所有数字返回多选的总和+;jQuery

Javascript 计算多选中的所有数字返回多选的总和+;jQuery,javascript,jquery,multi-select,Javascript,Jquery,Multi Select,我试图将多个值求和为一个值,并将其附加到输入值。 jQuery已更新: afterSelect: function(value){ $.ajax({ type: 'GET', url: '/police/get_res_price?price=' + value, success: function (data) { var initial_price = $('.give-m

我试图将多个值求和为一个值,并将其附加到输入值。 jQuery已更新:

afterSelect: function(value){
        $.ajax({
            type: 'GET',
            url: '/police/get_res_price?price=' + value,
            success: function (data) {
                var initial_price = $('.give-me-money').val();
                var obj = JSON.parse(data);
                $.each(obj, function(booking_price, value) {
                    initial_price += value.BOOKING_PRICE;
                });
                $('.give-me-money').val(initial_price); //set total
                console.log(initial_price);
            }
        });
        this.qs1.cache();
        this.qs2.cache();
    },
HTML:



您需要将所有值添加到同一个变量中,然后将该值设置为
。给我钱
字段。还可以更改您的html:

html

<input class="give-me-money" type="text" value="0">

显示聊天室中的代码:

afterSelect: function(value){
            $.ajax({
                type: 'GET',
                url: '/police/get_res_price?price=' + value,
                success: function (data) {
                    var initial_price = parseInt($('.give-me-money').val(), 10) || 0;
                    var obj = JSON.parse(data);
                    $.each(obj, function(booking_price, value) {
                        initial_price += parseInt(value.BOOKING_PRICE, 10);
                    });
                    $('.give-me-money').val(initial_price); //set total
                    console.log(initial_price);
                }
            });
            this.qs1.cache();
            this.qs2.cache();
        },

有一个变量来保存你的小计吗?@Shilly有什么想法如何执行吗?更好地解释你到底想要什么,因为我不明白。是否希望每次选择额外价格时更新所有选定预订价格的总和?或者用户必须按下按钮才能获得其总数?还是?@Shilly我想对每次单击的值求和。在最后附加到输入Hanks Bas,删除了现在输入的重置,而不是总和。每次单击后,我都会得到一个很长的数字:例如:286220152382变为:286220152382而不是1040,这是为什么?+还连接字符串,所以其中一个值是字符串而不是数字。因此,将所有数字字符串包装成parseInt(x,10)或parseFloat(x,10)。因此,我只将其保存为(ajax调用的非本地)变量。。你能举个例子吗?请注意,数字记录为数字,而不是字符串。可能不同的问题?成功:函数(数据){var obj=JSON.parse(数据),total=0;$。每个(obj,函数(booking_价格,value){console.log(value.booking_价格);total+=parseInt(value.booking_价格,10);$('.give me money')。val(total);}目前give me money的输出是什么?
afterSelect: function(value){
    $.ajax({
        type: 'GET',
        url: '/police/get_res_price?price=' + value,
        success: function (data) {

            var initial_price = parseInt($('.give-me-money').val());
            var obj = JSON.parse(data);
            $.each(obj, function(booking_price, value) {
                console.log(value.BOOKING_PRICE);
                initial_price += parseInt(value.BOOKING_PRICE);
            });
            $('.give-me-money').val(initial_price); //set total
        }
    });
    this.qs1.cache();
    this.qs2.cache();
}
afterSelect: function(value){
            $.ajax({
                type: 'GET',
                url: '/police/get_res_price?price=' + value,
                success: function (data) {
                    var initial_price = parseInt($('.give-me-money').val(), 10) || 0;
                    var obj = JSON.parse(data);
                    $.each(obj, function(booking_price, value) {
                        initial_price += parseInt(value.BOOKING_PRICE, 10);
                    });
                    $('.give-me-money').val(initial_price); //set total
                    console.log(initial_price);
                }
            });
            this.qs1.cache();
            this.qs2.cache();
        },