Javascript 如何对循环中的按钮使用相同的功能?

Javascript 如何对循环中的按钮使用相同的功能?,javascript,php,jquery,mysqli,Javascript,Php,Jquery,Mysqli,我有一个主页,其中显示了数据库中的产品,我放置了一个“添加到购物车”按钮,当然会将每个特定的产品添加到购物车中。目前我有6个产品显示在页面上,但显然只有第一个产品可以添加到购物车,其余的有一个按钮,无法工作 研究表明,我们不能通过JavaScript多次使用同一id(我使用的是id=“add to cart”),这就是循环中发生的情况,因此只有第一个项目有一个工作按钮 如何为while循环中的每个add to cart按钮生成特定ID,以及脚本如何识别或读取每个特定ID?我不是JavaScrip

我有一个主页,其中显示了数据库中的产品,我放置了一个“添加到购物车”按钮,当然会将每个特定的产品添加到购物车中。目前我有6个产品显示在页面上,但显然只有第一个产品可以添加到购物车,其余的有一个按钮,无法工作

研究表明,我们不能通过JavaScript多次使用同一id(我使用的是id=“add to cart”),这就是循环中发生的情况,因此只有第一个项目有一个工作按钮

如何为while循环中的每个add to cart按钮生成特定ID,以及脚本如何识别或读取每个特定ID?我不是JavaScript专家

                $result = mysqli_query($bd,$sql2);

            }

            if($result){                
            while($row=mysqli_fetch_array($result)){
            $prodID = $row["ID"];

            $prodname= $row["itemname"];
            $prodprice = $row["price"];

            ?>  

                        <h1 class="product"><?php echo $prodname; ?></h1>
                            <p>Price: <span class="price"><?php echo $prodprice; ?></span></p>
                            <br>
                            <a class="btn btn-default add-to-cart cartButtons" id="add-to-cart" input>Add to Cart</a>
                            <p class="info hidethis" style="color:red;"><strong>Item Added to Cart!</strong></p>

根据您的示例,删除您的
id=“添加到购物车”
,然后按如下方式调整jquery:

$('.add-to-cart').on('click',function(){ ... });

这将为所有设置为“添加到购物车”类的按钮提供单击事件。由于您已经在单击事件函数中使用了
$(this)
,因此它已经从该单击中提取了详细信息,而不是从其他单击中提取了详细信息。

根据您的示例,删除您的
id=“add to cart”
,然后按如下方式调整jquery单击:

$('.add-to-cart').on('click',function(){ ... });

这将为所有设置为“添加到购物车”类的按钮提供单击事件。由于您已经在单击事件函数中使用了
$(this)
,因此它已经从该单击中提取了详细信息,而不是从其他单击中提取了详细信息。

当您不能使用多个相同id时(因为它们必须是唯一的!),这就是将单击事件绑定到.class的方便之处。当您不能使用多个相同id时(因为它们必须是唯一的!),这就是将点击事件绑定到类的方便之处。先生,您的解决方案确实有效。所有“添加到购物车”按钮现在都适用于每个产品。非常感谢您的帮助!非常感谢先生,您的解决方案确实有效。所有“添加到购物车”按钮现在都适用于每个产品。非常感谢您的帮助!非常感谢乌赫表示赞赏