DatePicker jQuery UI utilisant onChangeMonthYear pour mettre à jour la date
J'ai eu un bon nombre de clients se plaignent quand ils changent la date sur le Datepicker de JQuery, il ne met pas à jour la date... C'est parce qu'ils changent le mois et l'année et s'attendre à la mise à jour de la date, sans en sélectionnant un.
J'ai donc pensé à les aider et mettre à jour la date automatiquement en utilisant le onChangeMonthYear() fonction.
Mon code est ci-dessous. Quand j'ai changer le mois ou l'année, il me prend pour 2017, ou à 1987... je ne comprends pas ce qui est mal. Ai-je raté quelque chose?
$('#member_birthday_full').datepicker({
altField: '#member_birthday',
altFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
dateFormat: 'DD, d MM yy',
showAnim: 'slideDown',
yearRange: '-125:+0',
onChangeMonthYear:function(y, m, i){
var d = i.selectedDay + '';
if (d.length < 2)
d = '0' + d;
var m = m + '';
if (m.length < 2)
m = '0' + m;
$(this).datepicker( "setDate", y + '-' + m + '-' + d );
}
});
source d'informationauteur Ben Sinclair | 2012-05-01
Vous devez vous connecter pour publier un commentaire.
La solution la plus simple (voir démo) est de définir une nouvelle date à l'aide d'un objet Date:
De la beaux-manuel:
Mais de la configuration de la nouvelle date dans le
altFormat
. Puis le datepicker essaie de son mieux pour analyser lesyy-mm-dd
date à l'aide de laDD, d MM yy
format et vous vous retrouvez en 1887 tous dazed and confused et vous vous demandez où votre DeLorean est.Vous aurez également besoin de décider ce que vous allez faire si ils essaient de se déplacer à partir de, disons, le 31 janvier à février. Vous voudrez probablement aller à février 28 (ou 29 dans une année bissextile). Des problèmes similaires viendra si vous commencez à partir du 29 janvier, 30 janvier, le 31 Mai ... et d'aller de l'avant un mois; légèrement différentes questions se posent si vous commencez à les 30 juin et essayer de revenir un mois. Je vais laisser ça comme un exercice pour le lecteur.