Nous utilisons jQuery UI 1.8.23 sur mon lieu de travail.
Comment capturer la date cliquée dans datepicker afin de pouvoir formater la date actuelle en un horodatage et transmettre cette valeur dans un champ de formulaire masqué?
Voici un code que j'ai essayé de faire fonctionner:
$('.ui-state-default').live('click', function(){
console.log('date clicked');
var currentdate = $(this).text();
var d = currentdate;
var m = monthFormat($('.ui-datepicker-month').text());
var y = $('.ui-datepicker-year').text();
$('a.ui-state-default').removeClass('ui-state-highlight');
$(this).addClass('ui-state-highlight');
if (currentdate.length < 2) {
d = "0" + currentdate;
}
var datestamp = y + "-" + m + "-" + d;
console.log(datestamp);
$('#dateHidden').val(datestamp);
});
Merci d'avoir consulté mon code. J'apprécie toute aide que vous pouvez apporter.
Vous n'avez rien à faire pour formater la date. Le widget DatePicker
le fait pour vous. Utilisez simplement les propriétés altField
et altFormat
:
$("#myDatePicker").datepicker({
// The hidden field to receive the date
altField: "#dateHidden",
// The format you want
altFormat: "yy-mm-dd",
// The format the user actually sees
dateFormat: "dd/mm/yy",
onSelect: function (date) {
// Your CSS changes, just in case you still need them
$('a.ui-state-default').removeClass('ui-state-highlight');
$(this).addClass('ui-state-highlight');
}
});
Documentation:
http://api.jqueryui.com/datepicker/#option-altField
http://api.jqueryui.com/datepicker/#option-altFormat
Manifestation:
jQueryDatepicker
donne l'option de date de formatage. Alors, pourquoi ne vous en servez-vous pas?
$('element').datepicker({ dateFormat: 'dd-mm-yy' });
De plus, vous n'avez pas besoin d'une méthode distincte pour capturer l'événement click. Vous la méthode par défaut onSelect
$('input').datepicker({
dateFormat: 'yy-mm-dd',
onSelect: function (date) {
//defined your own method here
alert(date);
}
})
Vérifiez ceci JSFiddle
$('#calendar').datepicker({
inline: true,
firstDay: 1,
changeMonth: false,
changeYear: true,
showOtherMonths: true,
showMonthAfterYear: false,
yearRange: "2015:2025",
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
dateFormat: "yy-mm-dd",
onSelect: function (date) {
alert(date);
}
});
Votre datepicker écoute ça.
voir fonction onSelect ()
Appelé lorsque le sélecteur de date est sélectionné. La fonction reçoit la date sélectionnée sous forme de texte et l'instance datepicker sous forme de paramètres. cela fait référence au champ de saisie associé.
$('.date-pick').datepicker( {
onSelect: function(date) {
//play with date here
},
----
----
---