从附加文本调用javascript(订单车)

Call javascript from appended text (order cart)

本文关键字:单车 javascript 调用 文本      更新时间:2023-09-26

假设我正在构建类似订单车的东西。

我有一个主页,还有很多子页面。在子页面上,我有一些指定的产品,用户可以通过单击按钮将其添加到订单中。

如果用户单击该按钮,则会调用javascript获取产品名称,并将其AJAX发送到某个PHP文件,该文件将该产品名称添加到某个$_SESSION数组中。

如果购物车中至少有一个产品,屏幕底部的FIXEDdiv就会出现。这个div运行modal(bootstrap),它包含用户添加到订单中的所有产品。再次,我在这里使用javascript+AJAX来确定点击。如果是,则会调用php文件,返回包含所有产品的STRING。然后,这个字符串被附加到这个模态中的div。

此模态的内容看起来像:

"name_of_the_product"、"delete"、"id_from_session_array"。。。…

因此,如果用户不再希望该产品出现在购物车中,我希望允许他对该列表中的任何产品使用DELETE选项。我将删除文本包装在某个锚点中,并给它类——比如说".delete_from_cart".

现在,当我尝试在javascript中检查这个元素(".delete_from_cart")是否被点击时,什么也没发生。示例代码如下:

$('.delete_from_cart').click(function() {
   alert("foo");
});

单击some.delete_from_cartdiv后根本没有警报。但是,在代码源中,所有这些锚点都有这个类。

如何解决?javascript在这个div中似乎看不到来自ajax的附加元素。有什么帮助吗?

因为您说过您的模态是使用Ajax调用生成的,所以您将无法将click事件附加到元素。您需要使用jQuerys on()方法来绑定onclick。

$("#themodal").on( "click", ".delete_from_cart", function(){
 alert('it worked');

});

有关详细信息,请参见on()方法。https://api.jquery.com/on/