2017-01-05 3 views
3

этот скрипт для загрузки дат в div onclick, я хочу показать дату в div onload.
этот сценарий для нагрузки даты, чтобы Div OnClick, я хочу показать дату в сНу OnLoadкак показать дату даты дате в onload в 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')); 

Вот Fiddle: http://jsfiddle.net/jd68tg4x/2/ - примечание JavaScript ТИП НАГРУЗКИ является "OnLoad".

Вам не нужен ваш обработчик onclick, он уже обрабатывается самим datepicker.

+0

gotchaaaaaaaaaaaa –

+0

@AjeshKolakkadan: см. Мое редактирование - BTW, если вы найдете один ответ полезным, не забудьте пометить его как принятый. См. Здесь: [Что это означает, когда ответ «принят»?] (Http://stackoverflow.com/help/accepted-answer) – deblocker

+0

@AjeshKolakkadan: в моем последнем редактировании я также скорректировал ошибку с длиной дня. Должна быть dateNo.toString(). Length. – 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

спасибо сумод нэйр, его не так дорого, не могли бы вы объяснить скрипкой. –

+0

'$ (document) .ready (function() {...})' можно просто заменить на '$ (function() {...})'. – Soviut

 Смежные вопросы

  • Нет связанных вопросов^_^