-1

我有一个 jQuery datepicker 可以工作,除非 updateTable 中的 Ajax 完成。日历单元格中的数字消失并且阻止选择单元格。无论 updateTable 的结果是什么,都会发生这种情况。问题是什么?

<head>

<script type="text/javascript">

    $(document).ready(function () {

        initDatepicker();

        $("#btn").live('click', function (event) {

              $.ajax({
                url: '@Url.Action("Add")',
                type: 'POST',
                contentType: 'application/json',
                success: function (result) {
                        updateTable();
                }
            });
        });

  });

  function initDatepicker () {               
      $('.datepicker').datepicker();   
  };


  function updateTable() {          
        $.ajax({
            url: '@Url.Action("UpdateTable")',
            type: 'POST',
            contentType: 'application/json',
            success: function (result) {
                $("#table").append(result);
            },
        });
    };

</script>

</head>

<body>
      <div>
        @RenderBody()
      </div>

      <div id="table">
      </div>
</body>
4

1 回答 1

0

您必须在更新 Ajax 之后重新初始化日期选择器,因为您更改了 DOM 结构并且之前的结构不再有效。因此,initDatepicker();在您将表更新为之后再次调用:

 function updateTable() {          
        $.ajax({
            url: '@Url.Action("UpdateTable")',
            type: 'POST',
            contentType: 'application/json',
            success: function (result) {
                $("#table").append(result);
                // here call again the init
                initDatepicker();    
            },
        });
    };
于 2012-09-24T13:21:13.443 回答