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 に答える