2012-09-24 47 views
-1

我有一個jQuery datepicker,除了在updateTable中的Ajax完成時工作。 日曆單元格中的數字消失,並且防止了單元格的選擇。無論updateTable的結果如何,都會發生這種情況。問題是什麼?Datepicker Ajax中斷

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

回答

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();  
      }, 
     }); 
    }; 
+0

它沒有效果。 – Mixel

+0

@Mixel對你的代碼有點工作(如果你明白了),不要等我解決它,或者給我一個URL來檢查它。答案「它沒有任何作用」,除了你根本不知道什麼之外,沒有任何線索。 – Aristos