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");