J'utilise ce plugin js-datepicker (https://www.npmjs.com/package/ js-datepicker). Le problème est que j'ai beaucoup de champs que je veux appliquer le même type de sélecteur de date, donc je suppose que je pourrais simplement leur donner à tous une classe de disons «année», mais il ne l'affecte qu'au premier champ de saisie avec cette classe. Existe-t-il un moyen de s'appliquer à toutes les entrées avec cette classe ?

Mon code:

const year = datepicker('.year', {
/*  formatter: (input, date, instance) => {
    const value = date.toLocaleDateString()
    input.value = value // => '1/1/2099'
  }*/
});
0
karl 8 mars 2019 à 14:22

2 réponses

Meilleure réponse

On dirait que cela veut s'initialiser pour un élément à la fois, vous devrez donc sélectionner tous vos éléments .year et les parcourir, puis appeler la fonction datepicker pour chacun individuellement.

Fondamentalement, quelque chose de simple comme celui-ci devrait faire l'affaire,

var fields = document.querySelectorAll('.year');

fields.forEach(function(e) {
  datepicker(e, {})
});

Si vous avez besoin des références aux instances de datepicker pour pouvoir modifier les options plus tard ou quelque chose comme ça, vous pouvez les ajouter à un tableau à l'intérieur de la boucle.

0
04FS 8 mars 2019 à 11:32

Peut-être que vous pouvez simplement utiliser le type d'entrée "date" pour avoir une solution de travail rapide. Avantage : le format est choisi en fonction des paramètres actuels de l'utilisateur, pas besoin de formater quoi que ce soit.

<input type="date" value="2019-01-01">
0
Aaron 8 mars 2019 à 11:30