为什么数量Box每次单击增量或减量按钮时增加2

时间:2015-02-23 18:04:59

标签: jquery magento

我是Magento的新手。请原谅我提出这个问题,但我需要真正帮助,因为我无法弄明白。

我在magento中使用classishop主题。我的问题是我在list.phtml页面上添加了ADD TO CART按钮和数量框。我做了以下任务:

首先我添加了这个:

<div class="quantity">

<input type="button" value="" id="add1" class="plus" title="<?php echo $this->__('Increments here No. of Qty') ?>" onclick="setQty(<?php echo $_product->getId(); ?>, '<?php echo $this->getAddToCartUrl($_product) ?>');"/>
<input type="text" name="qty_<?php echo $_product->getId(); ?>" id="qty_<?php echo $_product->getId(); ?>" maxlength="12" value="<?php echo $this->getMinimalQty($_product) ?>" onkeyup="setQty(<?php echo $_product->getId(); ?>, '<?php echo $this->getAddToCartUrl($_product) ?>');" title="<?php echo $this->__('Input here No. of Qty') ?>" class="input-text qty" />
<input type="button" value="" id="minus1" class="minus" title="<?php echo $this->__('Decrement here No. of Qty') ?>" onclick="setQty(<?php echo $_product->getId(); ?>, '<?php echo $this->getAddToCartUrl($_product) ?>');"/>
</div>
<span id="cart_button_<?php echo $_product->getId(); ?>"><button type="button" class="addToCart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"></span></button></span>
</form> 

我添加了一个jquery代码的第二件事:

<script>
jQuery.noConflict();
jQuery(".plus").click(function()
{
        var currentVal = parseInt(jQuery(this).next(".qty").val());
        if (!currentVal || currentVal=="" || currentVal == "NaN") currentVal = 1;
                   jQuery(this).next(".qty").val(currentVal + 1);

    });

    jQuery(".minus").click(function()
    {
        var currentVal = parseInt(jQuery(this).prev(".qty").val());
        if (currentVal == "NaN") currentVal = 0;
        if (currentVal > 1)
        {
            jQuery(this).prev(".qty").val(currentVal - 1);
        }
        // Ajax save here??
    });

</script>
<script type="text/javascript">
function setQty(id, url) {
var qty = document.getElementById('qty_' + id).value;
document.getElementById('cart_button_' + id).innerHTML = '<button type="button" class="addToCart" onclick="setLocation(\'' + url + 'qty/' + qty + ')"></button>';  
}
</script>

问题是,当我点击+或 - 按钮时,数量框值增加或减少2.请帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,因为我将jquery脚本放入footer.phtml文件中,因为它运行了2次。

现在工作正常