1

我想创建一个 eshop 购物篮.. 所以我想在按下购买按钮时计数物品。我尝试使用 getElementById 并简单地在我的篮子中调用 id 的名称。

--

<script type="text/javascript">
    var index = 0;
</script>

在顶部的某个地方-----

<div>items :<input type="text" id="tb" style="width: 20px; color:green; font-weight:bold; border:none; background: none; margin-left:20px;"/></div>

当我按下购买按钮时--------

<input  name="button" type="submit" value="add to basket" onClick="index = index + 1;document.getElementById('tb').value = index;" />

所以这是可行的..但知道我想复制篮子并在页面中两次(在顶部和最后)所以如果我尝试再次调用相同的 id 它只是不起作用(导致唯一性身份证)。我想我应该使用类名 istead 但我不知道如何..

我对 js 很陌生,希望有一个解决方案。谢谢

4

3 回答 3

0

您可以复制document.getElementById('tb').value = index并使用第二个(唯一)ID。或者你迭代documnet.getElementsByName('elementsname'),但你input必须有一个name属性。

于 2012-11-21T08:52:39.173 回答
0

使用类而不是 id:

<div>items :<input type="text" class="tb" style="width: 20px; color:green; font-weight:bold; border:none; background: none; margin-left:20px;"/></div>

然后遍历具有该类的项目:

function tb_increment() {
    index++;
    tbs = document.getElementsByClassName("tb");
    for (var i = 0; i < tbs.length; i++) {
        tbs[i].value = index;
    }
}

然后在您的点击处理程序中使用此函数:

<input  name="button" type="submit" value="add to basket" onClick="tb_increment();" />
于 2012-11-21T08:57:44.737 回答
-1

试试这个示例代码模式:

$(".class").each(function(){ index++; });
$("#tb").val(index);
于 2012-11-21T08:52:54.833 回答