计算多项选择中的所有数字 return 总和 Multiselect + jQuery

Calculate all numbers from a Multiple selection return the total sum Multiselect + jQuery

我正在尝试将多个值相加为一个值并将其附加到输入值。 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:

<select id='custom-headers' multiple='multiple' class="searchable">
<?php foreach ($get_reservations as $res_option): ?>
<option value="<?php print $res_option->DBASE_ID; ?>"><?php print $res_option->DBASE_ID; ?></option>
<?php endforeach; ?>
</select>

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

每次点击都会记录我的号码,例如 5117、547、987、54。并在最后一次选择多选时将其附加到输入中。我想以某种方式说 'wait' 求和 5117+547+987+54 并将 6705 附加到输入值,我该怎么做?

您需要将所有值添加到同一个变量,然后将值设置到 .give-me-money 字段。同时更改您的 html:

html

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

javascript

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();
        },