j'ai quelques champs d'entrée comme ci-dessous:Ajouter une liste de dates pour tableau, valider et obtenir la valeur max
<input type="text" name="date_1" class="dataList" value="2009-12-30" />
<input type="text" name="date_2" class="dataList" value="2007-06-12" />
<input type="text" name="date_3" class="dataList" value="2009-10-23" />
<input type="text" name="date_max" class="result" value="0000-00-00" />
je dois faire quelque chose comme ceci:
1) Ajouter pour dresser la liste des dates de tous les champs de saisie avec l'attribut class = "dataList" (les champs contiennent la date au format aaaa-mm-jj)
2) champs sont pleins et vérifier si toutes les dates sont en bon format de (mois pas plus de 12, jour pas Maoré que 31, longueur de tous les caractères qual de 10)
3A) Si les conditions de second point sont vraies alors:
- trier le tableau de max à min valeur
- obtenir le premier élément de tableau et le mettre à la valeur d'entrée avec le nom = "data_max"
3B) Si les conditions de second point sont fausses alors:
- get "0000-00-00" et réglez la valeur de l'entrée avec le nom = "data_max"
Je l'ai fait tout cela choses en PHP, mais je veux le faire dans jQuery.
En jQuery je peux mettre à jour en temps réel la valeur du champ data_max.
S'il vous plaît me donner quelques suggestions quelles fonctions je devrais utiliser.
'for..in' est plus approprié pour les objets que les tableaux. En outre, il est considéré comme une «meilleure pratique» de valider chaque valeur 'i' avec' if (! ArrayList.hasOwnProperty (i)) {continue; } '. –
La meilleure pratique signifie simplement qu'il y a d'autres façons de le faire, mon code fonctionne et est rapide, le fait que for..in fonctionne sur les tableaux est parce que c'est ce qu'il a été conçu pour faire, sinon il ne le permettrait pas. J'aurais pu faire un contrôle de longueur et utiliser une boucle normale, mais c'est généralement plus laide et il faut plus de lignes. Votre commentaire est le bienvenu mais vaut à peine le vote vers le bas. – SimonDever
Je pense que le code d'Ambrosia est le meilleur parce qu'il est clair, simple, rapide et fonctionne comme je le demande. Je vous remercie. – BlueMark