getDate avec Jquery Datepicker

J’essaie d’obtenir la date de mon implémentation du sélecteur de date jQuery, l’append à une chaîne et afficher l’image résultante dans mon div. Cependant, quelque chose ne fonctionne tout simplement pas. Quelqu’un peut-il vérifier le code et le regarder?

Le code est censé prendre la date à partir du sélecteur de date, le combiner dans une chaîne qui doit avoir le code nécessaire pour afficher le tag, les images sont situées dans / image et au format aYY-MM-DD.png, nouveauté cueilleur et ne peut pas encore le faire.

       $(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:

Je pense que vous voudriez append un gestionnaire d’événements ‘onSelect’ à l’initialisation de votre sélecteur de date afin que votre code soit déclenché lorsque l’utilisateur sélectionne une date. Essayez-le sur 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); } }); });

Cette ligne a l’air discutable:

 page_output.innerHTML = str_output; 

Vous pouvez utiliser .innerHTML dans jQuery, ou vous pouvez l’utiliser sans, mais vous devez adresser le sélecteur de manière sémantique d’une manière ou d’une autre:

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

ou mieux encore

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

essayer

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

Au lieu d’parsingr jour, mois et année, vous pouvez spécifier les formats de date directement à l’aide de la fonction formatDate de datepicker. Dans mon exemple, j’utilise “aa-mm-jj”, mais vous pouvez utiliser n’importe quel format de votre choix.

 $("#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); } });

Vous pouvez formater la date jquery avec cette ligne:

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

http://momentjs.com