在一个名为outputProducts
的函数中,我在表格中添加了一个提交按钮:
$(addToCartCell).append("<input type='submit' id='addToCart' value='Add To Cart'>");
为了检查按下提交按钮,我又做了另一个功能:
function addToCart()
{
$(#addToCart).submit(function() {
alert('Submit Detected.');
});
}
但这不起作用,之前在函数中创建的表甚至都没有出现,但是当我摆脱addToCart函数时它就会出现。
答案 0 :(得分:5)
您有语法错误,而不是$(#addToCart)
您需要$('#addToCart')
。
除此之外,您需要将submit
事件绑定到表单,而不是提交按钮(您将click
绑定到按钮,但是因为您需要要在提交时执行某些操作,将提交事件绑定到表单是可行的方法。
如果您没有表单,请使用type="button"
,因为无论如何都无法提交任何内容并将click
事件绑定到该按钮。
如果您需要在按钮存在之前绑定事件,请使用委托。 #container
应该是已存在的元素,并且是按钮的父元素:
$('#container').on('click', '#addToCart', function() { ... });
由于您似乎有多个产品,请记住 ID必须是唯一的 - 因此,如果您有多个按钮,请改用类并将选择器更改为.addToCart
相应
答案 1 :(得分:0)
您遇到语法错误。试试$('#addToCart')
。
答案 2 :(得分:-1)
请尝试以下代码
function addToCart()
{
$("#addToCart").live("submit", (function() {
alert('Submit Detected.');
});
}
注意:我尝试过相同但是因为你在运行时添加了元素,所以需要将事件绑定到元素。