简体   繁体   English

如何在onload中显示jquery datepicker日期到div

[英]how to show jquery datepicker date in onload in to a div

this script for load dates in to div onclick, i want show date in the div onload. 这个脚本加载日期到div onclick,我想在div onload中显示日期。
this script for load dates in to div onclick, i want show date in the div onload 这个脚本加载日期到div onclick,我想在div onload中显示日期

 <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');
       });

Call the function inside document ready. 调用文档中的函数准备就绪。

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

This call would only be triggered after your elements defined in document are loaded. 只有在加载文档中定义的元素后才会触发此调用。 if you want to delay it even further then call it in window.onload 如果你想进一步延迟它,那么在window.onload中调用它

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

Or, if you want to do it by recursion ie wait until the div is loaded and trigger it, try this :- 或者,如果你想通过递归来做,即等到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
  }
}

Hope this helps, happy coding :) 希望这有帮助,快乐编码:)

You mean, your div shall be straight filled with the date from datepicker ? 你的意思是,你的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'));

Here is a Fiddle: http://jsfiddle.net/jd68tg4x/2/ - note JavaScript LOAD TYPE is " onLoad ". 这是一个小提琴: http//jsfiddle.net/jd68tg4x/2/ - 注意JavaScript LOAD TYPE是“ onLoad ”。

You don'even need your onclick handler, it's already handled by the datepicker itself. 你不需要你的onclick处理程序,它已经由datepicker本身处理。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM