2013-05-27 40 views
3

我已經stucked這個問題。 datepicker在靜態內容上工作正常。DatePicker不能在Ajax加載內容

但是,當通過Ajax加載內容時失敗。

我曾嘗試: -

jQuery.noConflict(); 
jQuery(function($) { 
    $(document).ready(function(){ 
     $(".datepickerRange").datepicker({ 
      dateFormat: 'dd-mm-yy', 
      prevText:'', 
      nextText:'', 
      minDate: 0, 
      maxDate: "+1M", 
      showOn: "button", 
      buttonImage: divadatepicker.image_url+"/calendar.jpeg", 
      buttonImageOnly: true 
     }); 
     $(".datepicker").datepicker({ 
      dateFormat: 'dd-mm-yy', 
      prevText:'', 
      nextText:'', 
      showOn: "button", 
      buttonImage: divadatepicker.image_url+"/calendar.jpeg", 
      buttonImageOnly: true, 
      changeMonth: true, 
      changeYear: true, 
      yearRange: "1960:2015" 
     }); 

      }); 

$(document).live(function(){ 
     $(".datepickerRange").datepicker({ 
      dateFormat: 'dd-mm-yy', 
      prevText:'', 
      nextText:'', 
      minDate: 0, 
      maxDate: "+1M", 
      showOn: "button", 
      buttonImage: divadatepicker.image_url+"/calendar.jpeg", 
      buttonImageOnly: true 
     }); 
     $(".datepicker").datepicker({ 
      dateFormat: 'dd-mm-yy', 
      prevText:'', 
      nextText:'', 
      showOn: "button", 
      buttonImage: divadatepicker.image_url+"/calendar.jpeg", 
      buttonImageOnly: true, 
      changeMonth: true, 
      changeYear: true, 
      yearRange: "1960:2015" 
     }); 

      }); 

}); 

它沒有顯示通過AJAX加載的內容後,甚至壓延小圖片。

+0

僅供參考,'$ .live()'是因爲1.7棄用,在1.9移除。使用'$。對()',而不是http://api.jquery.com/on/ – jammypeach

回答

9

致電.datepicker在您的ajax呼叫的success回調函數中,而不是使用.live,這已棄用。例如:

function initdatepicker(){ 
    $(".datepickerRange").datepicker({ 
     dateFormat: 'dd-mm-yy', 
     prevText:'', 
     nextText:'', 
     minDate: 0, 
     maxDate: "+1M", 
     showOn: "button", 
     buttonImage: divadatepicker.image_url+"/calendar.jpeg", 
     buttonImageOnly: true 
    }); 
    $(".datepicker").datepicker({ 
     dateFormat: 'dd-mm-yy', 
     prevText:'', 
     nextText:'', 
     showOn: "button", 
     buttonImage: divadatepicker.image_url+"/calendar.jpeg", 
     buttonImageOnly: true, 
     changeMonth: true, 
     changeYear: true, 
     yearRange: "1960:2015" 
    }); 
} 
$(document).ready(function(){ 
    initdatepicker(); 
}); 

並添加到您的$.ajaxsuccess

initdatepicker(); 
+0

像這樣: 成功:功能(HTML){ \t \t \t \t \t \t \t \t \t \t //的jQuery(」 #search_result 「)了slideDown(」 慢「); \t \t \t \t \t \t \t \t \t \t //警報(HTML); \t \t \t \t \t \t \t \t \t \t jQuery的( 「#right_search」)的html(HTML)。 \t \t \t \t \t \t \t \t \t \t jQuery的( '#TB_overlay')的CSS( '顯示', '無')。 \t \t \t \t \t \t \t \t \t \t jQuery的( 「正文」)的CSS( 「溢出」, 「汽車」)。 \t \t \t \t \t \t \t \t \t \t $( 「.datepicker」).datepicker(); \t \t \t \t \t \t \t \t \t \t}, 它不工作。 –

+0

我在我的帖子中添加了一個例子。刪除'$(「.datepicker」).datepicker(); '並使用'initdatepicker();'代替。 – Mooseman

+0

感謝您的幫助..但它仍然無法正常工作。然而,該功能被稱爲成功我測試警報。但什麼都沒有發生:( –

0

使用此

<script type="text/javascript"> 
    $(function(){ 
     $('input.calendarSelectDate').live('click', function() { 
      $(this).datepicker({showOn:'focus'}).focus(); 
     }); 
    }); 
</script>