为什么我的javascript不会在Opencart category.tpl中更新数量

时间:2013-05-11 16:42:23

标签: javascript jquery opencart

在category.tpl Opencart 1.5.x中 我正在尝试将数量添加到“添加到购物车”按钮。

<div class="cart">
    <input type="text" name="quantity<?php echo $product['product_id']; ?>" value="1" size="1" />
    <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>', 'document.form.quantity<?php echo $product['product_id']; ?>.value')" class="button" />
</div>

如果我只是为addToCart的第二个变量添加一个数字,如

addToCart('<?php echo $product['product_id']; ?>', 2);

这增加数量2罚款。检查ff中的元素名称显示我正确地从php回来的数字“quantity6.value”等。显然,当我点击添加到购物车时没有任何反应。有人能指出我正确的方向吗?

为了使它更简洁我将线路改为:     “onclick =”addToCart('',document.getElementById('quantity')。value)“class =”button“/&gt;

但是按钮似乎没有在点击上做任何事情。我假设document.getElementById()..行没有正确返回数字,但我不确定一个好方法来测试它。

这似乎都不起作用:

<div class="cart">
    <input type="text" name="quantity<?php echo $product['product_id']; ?>" value="1" size="1" onchange="updateQty(<?php echo $product['product_id']; ?>);" />

    <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>', getQty(<?php echo $product['product_id']; ?>);)" class="button" />
  </div>
...

<script type="text/javascript"><!--

function getQty(num) {
getQty = document.getElementById('quantity' & num).value;

}

function updateQty(num) {
var ibox = document.form.quanity[num].value;
quantity[num] = ibox;
}
...
</script>

1 个答案:

答案 0 :(得分:2)

说实话,这似乎有点过头了。只需将onclick事件上的函数更改为addToCartCategory()并将名称更改为数量框的ID,即可使用一个函数执行此操作。

的内容
<div class="cart">
    <input type="text" id="quantity<?php echo $product['product_id']; ?>" value="1" size="1" />

    <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCartCategory(<?php echo $product['product_id']; ?>)" class="button" />
  </div>
...

<script type="text/javascript"><!--

function addToCartCategory(product_id) {
    var qty = $('#quantity' + product_id).val();
    addToCart(product_id, qty);

}
...
</script>