Je souhaite obtenir la date de datepicker chaque fois que l'utilisateur choisit la date dans jQuery UI datepicker et clique sur le bouton du formulaire.
il me faut bien connaître le jour, le mois et l’année de la date choisie. Comment puis-je obtenir la date du formulaire jQuery UI?
Utilisation
var jsDate = $('#your_datepicker_id').datepicker('getDate');
if (jsDate !== null) { // if any date selected in datepicker
jsDate instanceof Date; // -> true
jsDate.getDate();
jsDate.getMonth();
jsDate.getFullYear();
}
Vous pouvez récupérer la date en utilisant la fonction getDate:
$("#datepicker").datepicker( 'getDate' );
La valeur est renvoyée sous la forme d'un objet Date JavaScript.
Si vous souhaitez utiliser cette valeur lorsque l'utilisateur sélectionne une date, vous pouvez utiliser l'événement onSelect:
$("#datepicker").datepicker({
onSelect: function(dateText, inst) {
var dateAsString = dateText; //the first parameter of this function
var dateAsObject = $(this).datepicker( 'getDate' ); //the getDate method
}
});
Le premier paramètre est dans ce cas la Date sélectionnée sous forme de chaîne. Utilisez parseDate pour le convertir en objet Date JS.
Voir http://docs.jquery.com/UI/Datepicker pour la référence complète DatePicker de l'interface utilisateur jQuery.
Essayez ceci fonctionne comme un charme, donne la date que vous avez choisie
var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();
le lien vers getdate: http://docs.jquery.com/UI/Datepicker#method-getDate
$("#datepicker").datepicker( 'getDate' );
Parfois, beaucoup de problèmes avec elle. Dans l'attribut, la valeur de datapicker est 28-06-2014, mais datepicker est show ou aujourd'hui ou rien. Je l'ai décidé d'une telle manière:
<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" />
J'ai ajouté à l'entrée d'attribut datapicker data-value, car si call jQuery (this) .val () OR jQuery (this) .attr ('value') - rien ne fonctionne . J'ai décidé init in cycle chaque datapicker et prend sa valeur d'attribut data-value:
$("form .datepicker").each(function() {
var time = jQuery(this).data('value');
time = time.split('-');
$(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0));
});
et ça marche bien =)