getDate with Jquery Datepicker

我试图从我的jquery日期选择器的实现中获取日期,将其添加到字符串并在我的div中显示结果图像。 但是有些东西不起作用。 任何人都可以查看代码并查看它吗?

该代码应该从日期选择器中取出日期,将其组合成一个字符串,该字符串具有显示标记所需的代码,图像位于/ image中,格式为aYY-MM-DD.png,此日期为新选择器并不能完全降低它。

       $(function(){ // Datepicker $('#datepicker').datepicker({ dateFormat: 'yy-mm-dd', inline: true, minDate: new Date(2010, 1 - 1, 1), maxDate:new Date(2010, 12 - 1, 31), altField: '#datepicker_value', }); //hover states on the static widgets $('#dialog_link, ul#icons li').hover( function() { $(this).addClass('ui-state-hover'); }, function() { $(this).removeClass('ui-state-hover'); } ); }); //var img_date = .datepicker('getDate'); var day1 = $("#datepicker").datepicker('getDate').getDate(); var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1; var year1 = $("#datepicker").datepicker('getDate').getFullYear(); var fullDate = year1 + "-" + month1 + "-" + day1; var str_output = "



"; page_output.innerHTML = str_output; // writing the results to the div element (page_out)

Date Value:

我想你会想要在你的日期选择器的初始化中添加一个’onSelect’事件处理程序,以便在用户选择日期时触发你的代码。 在jsFiddle上尝试一下

 $(document).ready(function(){ // Datepicker $('#datepicker').datepicker({ dateFormat: 'yy-mm-dd', inline: true, minDate: new Date(2010, 1 - 1, 1), maxDate:new Date(2010, 12 - 1, 31), altField: '#datepicker_value', onSelect: function(){ var day1 = $("#datepicker").datepicker('getDate').getDate(); var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1; var year1 = $("#datepicker").datepicker('getDate').getFullYear(); var fullDate = year1 + "-" + month1 + "-" + day1; var str_output = "



"; $('#page_output').html(str_output); } }); });

这条线看起来有问题:

 page_output.innerHTML = str_output; 

你可以在jQuery中使用.innerHTML ,或者你可以在没有它的情况下使用它,但你必须在语义上以这样或那样的方式处理选择器:

 $('#page_output').innerHTML /* for jQuery */ document.getElementByID('page_output').innerHTML /* for standard JS */ 

还是更好

 $('#page_output').html(str_output); 

尝试

 $('#page_output').html(str_output); 

您可以直接使用datepicker的formatDate函数指定日期格式,而不是解析日,月和年。 在我的例子中,我使用的是“yy-mm-dd”,但您可以使用您选择的任何格式。

 $("#datepicker").datepicker({ dateFormat: 'yy-mm-dd', inline: true, minDate: new Date(2010, 1 - 1, 1), maxDate: new Date(2010, 12 - 1, 31), altField: '#datepicker_value', onSelect: function(){ var fullDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate')); var str_output = "



"; $('#page_output').html(str_output); } });

您可以使用以下行格式化jquery日期:

moment($(elem).datepicker('getDate')).format("YYYY-MM-DD");

http://momentjs.com