0

我使用 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>
4

1 回答 1

1

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

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

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