2017-01-05 77 views
3

此腳本用於加載日期到div onclick,我想在div onload中顯示日期。
此腳本加載日期中的onclick div的,我想在div的onload如何在onload中顯示jquery datepicker日期到div中

<input id="datepicker2"> 
    <div id="date"> 
     <div id="day-number"> 
     </div> 
     <div id="day-month"> 
     <div id="day-name"> 
     </div> 
     <div id="month"> 
     </div> 
     </div> 
    </div>  

var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 
    var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'nov', 'Dec']; 
    $(function() { 
     $("#datepicker2").datepicker({ 
     dateFormat: "dd-mm-yy", 
     onSelect: function(dateText) { 
      var dateObj = $(this).datepicker('getDate'); 
      $('#day-name').html(days[dateObj.getDay()]); 

      var dayNo = dateObj.getDate(); 

      if (dayNo.length == 1) 
      $('#day-number').html('0' + dayNo); 
      else 
      $('#day-number').html(dayNo); 
      $('#month').html(months[dateObj.getMonth()]); 

     } 
     }).datepicker("setDate", "0"); 

     $('#date').on("click", function() { 
     $('#datepicker2').datepicker('show'); 
     }); 

回答

1

你的意思是,你的div應是直裝滿了來自datepicker的日期?

var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'nov', 'Dec']; 

function showDate(value) { 
    $('#day-name').html(days[value.getDay()]); 
    var dayNo = value.getDate(); 
    if (dayNo.toString().length == 1) 
    $('#day-number').html('0' + dayNo); 
    else 
    $('#day-number').html(dayNo); 
    $('#month').html(months[value.getMonth()]); 
} 

$("#datepicker2").datepicker({ 
    dateFormat: "dd-mm-yy", 
    onSelect: function(dateText) { 
    var dateObj = $("#datepicker2").datepicker('getDate'); 
    showDate(dateObj); 
    } 
}).datepicker("setDate", "0"); 

showDate($("#datepicker2").datepicker('getDate')); 

這裏是一個小提琴:http://jsfiddle.net/jd68tg4x/2/ - 注意JavaScript的負載類型是 「的onLoad」。

您甚至不需要您的onclick處理程序,它已由datepicker本身處理。

+0

gotchaaaaaaaaaaaa –

+0

@AjeshKolakkadan:請參閱我的編輯 - 順便說一句,如果您發現一個有用的答案,不要忘記將其標記爲已接受。看到這裏:[答案是「接受」時的含義是什麼?](http://stackoverflow.com/help/accepted-answer) – deblocker

+0

@AjeshKolakkadan:在我最後的編輯中,我也調整了錯誤的日期。它應該是dayNo.toString()。長度。 – deblocker

1

電話裏面的文件準備好功能顯示的日期。

$(document).ready(function(){ 
     $('#datepicker2').datepicker('show'); 
    }); 

此調用只會在加載文檔中定義的元素後觸發。 如果你想拖延甚至會更進一步然後調用它的window.onload

function loadDatePicker() { 
      $('#datepicker2').datepicker('show'); 
     } 
     window.onload = loadDatePicker; 

或者,如果你想通過遞歸做到這一點,即等到DIV被加載並觸發它,試試這個: -

jQuery(document).ready(function() { 
    checkContainer(); 
}); 

function checkContainer() { 
    if($('#datepicker2').is(':visible'))){ //if the container is visible on the page 
    $('#datepicker2').datepicker('show'); 
    } else { 
    setTimeout(checkContainer, 100); //wait 100 ms, then try again 
    } 
} 

希望這有助於編碼快樂:)

+0

感謝sumodh nair,它不工作親愛的,請你用小提琴解釋一下。 –

+0

'$(document).ready(function(){...})'可以簡單地替換爲'$(function(){...})'。 – Soviut

相關問題