0

在一个名为的函数outputProducts中,我向我的表添加了一个提交按钮:

$(addToCartCell).append("<input type='submit' id='addToCart' value='Add To Cart'>");

为了检查提交按钮是否被按下,我做了另一个功能:

function addToCart()
{
    $(#addToCart).submit(function() {
        alert('Submit Detected.');
    });
}

但这不起作用,之前在函数中创建的表甚至没有出现,但是当我摆脱 addToCart 函数时它会出现。

4

3 回答 3

5

您有语法错误,而不是$(#addToCart)您需要$('#addToCart').

除此之外,您需要将submit事件绑定到表单,而不是提交按钮(您将绑定click到按钮,但由于您想在提交时做一些事情,将提交事件绑定到表单是要走的路)。

如果您没有表单,请使用,type="button"因为无论如何都没有要提交的内容并将click事件绑定到按钮。

如果您需要在按钮存在之前绑定事件,请使用委托。#container应该是一个已经存在的元素并且是按钮的父元素:

$('#container').on('click', '#addToCart', function() { ... });

而且由于您似乎有多个产品,请记住ID 必须是唯一的- 因此,如果您有多个按钮,请改用一个类并将选择器更改为.addToCart相应的。

于 2012-05-28T09:30:47.057 回答
0

您有语法错误。试试$('#addToCart')

于 2012-05-28T09:34:04.413 回答
-1

请尝试以下代码

function addToCart()
{
    $("#addToCart").live("submit", (function() {
        alert('Submit Detected.');
    });
}

注意:我尝试过相同的方法,但由于您在运行时添加了元素,因此您需要将事件绑定到元素。

于 2012-05-28T09:32:26.347 回答