0

AJAX POST を使用して jQuery で静的フォームを送信すると、問題なく動作します。

ただし、呼び出しの後、フォームの内部を最初の AJAX 呼び出しの結果に置き換えます。その後、フォームを再度 POST しても機能しません。しかし、なぜ?

これは私のフォームです:

    <form>
      <div id="optionForm">
        Just some SELECT menus
      </div>        
    </form>

これは、フォームを投稿し、フォームの内部を置き換える方法です (いくつかの SELECT メニューを使用):

<script>
    jQuery(document).ready(function() {
        $("select").change(function() {
            var data = $('form').serialize();
            $.post("/test/Update.do", data, function(data) {
                $("#optionForm").html(data);
            });
        });
    });
</script>
4

1 に答える 1

1

あなたの質問からは完全には明らかではありませんが、あなたが言及している選択はフォーム内にあると思いますか?

$('select').change実行時に見つかった要素にのみ変更リスナーをバインドします$('select')。フォーム全体を置き換える場合、古い選択を破棄して、リスナーがバインドされていない新しい選択を作成します。代わりに委任されたイベントを使用します。

$('#optionForm').on('change', 'select', function() {
    // post...
});
于 2013-03-22T11:05:36.883 に答える