Datepicker Ajax中断

时间:2012-09-24 13:16:38

标签: asp.net ajax datepicker actionresult

我有一个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>

1 个答案:

答案 0 :(得分: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();    
            },
        });
    };