0

誰かが私を正しい方向に向けることができることを願っています。

私はこのコードを持っています:

//nextButton processing
    $('.nextButton').on("click", function(){
    //$('.nextButton').click(function(){

         var querystring = $("#formStep").serialize() + "&step=" + step + "&session=" + session;
        // Ajax Call
        $.ajax({
                type: "POST",
                data: querystring,
                url: "includes/processnext.php",
                dataType: 'json',
                success: function(msg){
                    $('.result').append(msg.answerRow);

                }
            });

  // End Ajax Call
    });

これで、最初の.nextbuttonに対してこれが機能しますが、ajaxの結果により、次の次のボタンに置​​き換えられます。

これを修正するために、Jquery .on()(古いコードはコメントアウトされています)を使用してみましたが、それでも解決されていないようです。

助言がありますか?

ありがとう。

4

2 に答える 2

1

click次のように、イベントハンドラーをコンテナー要素にアタッチします。

$('#container').on("click", ".nextButton", function(){

コンテナ要素は、クリックイベントがからバブルアップするときにクリックイベントを「キャッチ」します.nextButton

于 2012-06-06T15:53:58.577 に答える
0

あなたは正しいです、.on()その方法ですが、あなたは最後のステップを欠いています。イベントを親に委任する必要があります。

そうすれば、そのクラスを持つすべてのオブジェクトでクリックイベントが処理されます。

$('#parent').on('click','.nextButton',function(e){...});

詳細-> http://api.jquery.com/live/

于 2012-06-06T15:57:03.270 に答える