я не могу получить количество для продукта со страницы 2 в (нумерация страниц 2) - PullRequest
0 голосов
/ 28 апреля 2020

в моем случае у меня есть сетка, которая отображает продукты по количеству, имени, изображению ..., а также есть нумерация страниц, для первой страницы страницы все прекрасно работает, я могу получить количество для элемента, но в на второй странице я не могу получить количество

, если кто-нибудь может мне помочь, я буду признателен

, но когда я добавлю количество вручную, оно будет работать enter image description here

это мой код:

;(function ($, window, document, undefined) {

    $.widget("infortis.qtycontrol", {

        options: {
            qtyButtonSelector: '.qty-button'
            , qtyButtonsWrapperSelector: '.qty-buttons-wrapper'
            , errorColor: 'red'
        }

        , inputField: undefined
        , qtyButtons: undefined

        , _create: function()
        {
            this._initPlugin();
        }

        , _initPlugin: function()
        {
            var _self = this;

            // Get quantity field
            this.inputField = this.element;

            // Insert plus/minus buttons
            this.inputField.after('<div class="qty-buttons-wrapper"><div class="qty-button increase"></div><div class="qty-button decrease"></div></div>');

            // Activate plus/minus buttons
            this.qtyButtons = this.inputField.next(this.options.qtyButtonsWrapperSelector).find(this.options.qtyButtonSelector);
            this.qtyButtons.on('click', function() {

                var $button = $(this);
                var oldValue = _self.inputField.val();
                var newVal = 0;

                if (isNaN(oldValue))
                {
                    _self.inputField.css('color', _self.options.errorColor);
                }
                else
                {
                    if ($button.hasClass('increase'))
                    {
                        newVal = _self.qtyAdd(parseFloat(oldValue), 1, 4);
                        _self.inputField.css('color', '');
                    }
                    else 
                    {
                        var candidateNewValue = _self.qtySubtract(parseFloat(oldValue), 1, 4);
                        if (oldValue > 0 && candidateNewValue > 0) 
                        {
                            newVal = candidateNewValue;
                        }
                        else
                        {
                            newVal = 0;
                            _self.inputField.css('color', _self.options.errorColor);
                        }
                    }

                    _self.inputField.val(newVal);
                }

            });

        }

        , qtyAdd: function(a, b, precision)
        {
            var x = Math.pow(10, precision || 2);
            return (Math.round(a * x) + Math.round(b * x)) / x;
        }

        , qtySubtract: function(a, b, precision)
        {
            var x = Math.pow(10, precision || 2);
            return (Math.round(a * x) - Math.round(b * x)) / x;
        }

    }); //end: widget

})(jQuery, window, document);

 productGridAddSelected : function(){
            if(this.productGridShowButton) Element.show(this.productGridShowButton);
            var area = ['items', 'shipping_method', 'totals', 'giftmessage','billing_method'];
            // prepare additional fields and filtered items of products
            var fieldsPrepare = {};
            var itemsFilter = [];
            var products = this.gridProducts.toObject();
            console.log()
            for (var productId in products) {
                console.log('the selected product ==> '+ productId);
                for (var qty in products[productId]) {
                    qty = products[productId][qty];
                    console.log('his qty ==> ' + qty);
                    if(qty > 0){
                        itemsFilter.push(productId);
                        var paramKey = 'item[' + productId + ']';
                        for (var productParamKey in products[productId]) {
                            paramKey += '[' + productParamKey + ']';
                            fieldsPrepare[paramKey] = products[productId][productParamKey];
                        }
                    }

                }
            }
            this.productConfigureSubmit('product_to_add', area, fieldsPrepare, null, itemsFilter);
            productConfigure.clean('quote_items');

            this.gridProducts = $H({});

            window.setTimeout(function () {
                window.location.reload(true);
            }, 800);
        },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...