【问题标题】:javascript function affecting all elements影响所有元素的javascript函数
【发布时间】:2014-01-18 02:26:30
【问题描述】:

我正在尝试开发一个购物车,允许用户使用滑块增加/减少购物车中商品的数量。

购物车中的每件商品都有自己的数量滑块。

问题在于,如果购物车中的商品超过 1 件,则移动第一项以外的任何商品的滑块只会影响第一项的数量。换句话说,如果我在购物车中有 2 件商品,并且我使用滑块来增加第 2 件商品的数量,则第 1 件商品的数量会发生变化,而不是第 2 件。购物车页面主要用php编写,带有根据javascript编写的滑块控件改变数量的功能。

我在这里做错了什么?

这是我的 javascript 函数代码:

    function updateTextInput(val) {
      document.getElementById('textInput').value=val; 
    }

这是我调用该函数的表格单元格的代码:

感谢您的帮助。

【问题讨论】:

  • id 在文档中必须是唯一的。

标签: javascript php


【解决方案1】:

ID 的 DOM 元素在整个页面中必须是唯一的。好吧,一些修复:

<td>
    <input size='3' type='range' name=\"qty[{$row['product_id']}]\" min='0' max='".$stock."' onchange='updateTextInput(this.value, {$row['product_id']});'>
    <input id='textInput_{$row['product_id']}' size='3' readonly value=\"{$_SESSION['cart'][$row['product_id']]['quantity']}\">
</td>

并修复 javascript:

function updateTextInput(val, product_id) {
    document.getElementById('textInput_' + product_id).value = val; 
}

【讨论】:

    猜你喜欢
    • 2011-07-01
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多