2017-09-15 227 views
-1
$.ajax({ 
      url: '/Staff/GetStaffFamilyDetails', 
      type: 'POST', 
      data: { 
       StaffID: StaffID 
      }, 
      success: function (result) { 
       var markup = "<input type='text' id='FamEdit'>"; 
       $('#div').html(markup); 
      }, 
      complete: function() { 
       $('#FamEdit').datepicker({ 
        keyboardNavigation: false, 
        autoclose: true, 
        format: "dd M yyyy" 
       }); 
      } 
     }) 

嗨,朋友。我將datepicker綁定到動態變量,此時它會通過未定義的datepicker等錯誤。請幫助我..如何成功爲什麼Bootstrap datepicker不能在ajax成功函數中工作

+0

在AJAX請求完成後,您是否有多個具有相同ID的'FamEdit'的元素?另外,請檢查控制檯是否有錯誤。 –

+0

也請添加您的html代碼 – Znaneswar

+0

具體而言,請檢查接受答案下方的答案,該答案檢查datepicker的存在是否覆蓋它https://stackoverflow.com/a/34334388/448144 – Nope

回答

-1

也許成功結合日期選擇在同一時間完成射擊,儘量讓這樣的超時:

complete: function() { 
    setTimeout(function() { 
     $('#FamEdit').datepicker({ 
      keyboardNavigation: false, 
      autoclose: true, 
      format: "dd M yyyy" 
     }); 
    }, 100); 
} 

但最有可能的最好的解決辦法是更換html和初始化日期選擇器 - 成功。首先替換,然後初始化。 因爲如果沒有數據收集(結果在您的代碼中),您爲什麼需要重新初始化日期選擇器?

-1

測試您的代碼在我的本地頁面上,它工作正常。 「日期選擇器未定義」:看起來datepicker.js未正確包含在您的頁面中

-1

因爲您正在動態添加輸入id='FamEdit',所以datepicker未直接分配給動態輸入元素。你可以嘗試像下面這樣。

<div id="mydiv"> 

</div> 

//....// 
success: function (result) { 
      var markup = "<input type='text' id='FamEdit'>"; 
      $('#mydiv').html(markup); 
     }, 
     complete: function() { 
      $('#mydiv').find('#FamEdit').datepicker({ 
       keyboardNavigation: false, 
       autoclose: true, 
       format: "dd M yyyy" 
      }); 
     } 
相關問題