-1

updateTable の Ajax が完了した場合を除いて機能する jQuery 日付ピッカーがあります。カレンダーセルの数字が消え、セルの選択ができなくなります。これは 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 に答える