J'ai un datpicker utilisant jPeryui DatePicker.jQueryUI DatePicker Personnalisation de l'année
L'exigence de comportement est:
Un utilisateur peut enregistrer un anniversaire pour un ami. L'utilisateur devrait être en mesure de stocker une année si elle est connue, ou sélectionner "N/A". Si "N/A" est sélectionné, Enregistrer l'année 1900 dans la base de données et afficher uniquement le jour et le mois dans un champ de saisie pour l'utilisateur.
Le menu déroulant devrait commencer à 1950, mais montrer les 100 dernières années de date (< - ce serait la cerise sur le gâteau, sinon commencer à l'année en cours et, si nécessaire revenir à 1900)
Voici ce que j'ai obtenu jusqu'ici, mais c'est un peu bizarre ... et c'est un euphémisme. Et pour une raison quelconque, si l'utilisateur sélectionne une date, mais ne modifie pas la liste déroulante de l'année, l'année en cours est stockée, plutôt que 1900.
(c'est dans le contexte d'un appel JSON). Sûrement il y a un meilleur moyen.
var birthday_options = {changeMonth: true, changeYear: true, yearRange: '1900:2010',
onClose: function(dateText, inst) {
contact.field_updater('birthday').call(this);
$('input.mng-birthday').val(function(i, val) {
return val.replace('/1900', '');
});
},
beforeShow: function (input) {
setTimeout(function() {
$('select.ui-datepicker-year option:first').text('N/A');
}, 1);
}},
.find('.mng-birthday').val(data.birthday || 'Unknown')
.datepicker(birthday_options)
.end();
Je vois comment cela devrait fonctionner, et fait de toute évidence sur la démo, mais je continue pour obtenir l'année 2016 quand je choisis N/A. – kinet