使用AJAX提交动态创建的表单

时间:2013-03-22 11:02:32

标签: jquery ajax

我使用AJAX POST使用jQuery提交静态表单,它运行正常。

然而,在调用之后,我用第一个AJAX调用的结果替换了我的表单内部。之后,再次发布表单将无法正常工作。但是......为什么?

这是我的表格:

    <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>

1 个答案:

答案 0 :(得分:1)

你的问题并不完全清楚,但我猜你所指的选择是表格中?

$('select').change只会将更改侦听器绑定到$('select')执行时找到的元素。当您替换整​​个表单时,您将销毁旧选择并创建新选择,这些选择没有绑定到它们的任何侦听器。请改用委托事件:

$('#optionForm').on('change', 'select', function() {
    // post...
});