2009-10-09 7 views
2

Je suis assez fraîche sur jQuery, et je viens d'implémenter jQuery + jQuery UI, mais sur le widget datepicker, il semble que les classes ajoutées sur les entrées d'avant sont supprimées, et les classes datepicker sont ajouté insteady.jQuery UI datepicker entrée de classe

Comment puis-je conserver mes cours également?

+0

J'ai implémenté l'interface utilisateur datepicker dans certaines de mes pages et je l'ai toujours à l'esprit. Si vous publiez votre code ici, nous serons en mesure de mieux vous aider. – Chris

Répondre

0

Il ne devrait pas supprimer vos classes mais ajouter. Vous vous assurez juste que vous ne faites pas cela (suppression des classes) par erreur. Un code m'aiderait aussi à mieux comprendre votre problème.

0

Il ne supprime pas les classes existantes (à condition que vous n'ayez pas nommé le même que celui utilisé par l'interface utilisateur de jQuery). Mais il encapsule le tag avec des tags supplémentaires. Ainsi, votre champ de saisie d'origine est un niveau ou deux plus profond dans l'arborescence DOM qu'auparavant. C'est quelque chose à savoir si vous utilisez des méthodes jQuery comme parent() ou sibling() car elles sont maintenant à un niveau différent.

+0

Etes-vous sûr qu'il l'enveloppe et le pousse plus loin? Dans ma réponse ci-dessus, le code suggère qu'il n'ajoute que des classes, cela n'affecte pas la profondeur parent/enfant du champ de saisie. – Chris

+0

Mon erreur. Travailler avec trop d'éléments de jQueryUI et les avoir mélangés. –

0

Notez que datepicker va ajouter son propre identifiant unique qui ressemble à ceci id="dp124326451455" pour chaque champ de saisie auquel datepicker est attaché. Pour cette raison, votre <input > ne devrait pas déjà avoir un id (ce que je sais que vous n'avez pas, vous avez un class).

En plus de cet id semblant étrange qu'il ajoute à chaque champ, il ajoute également une classe appelée hasDatepicker. Mais comme Wbdvlpr l'a dit, il l'ajoute juste à toutes les classes existantes que vous pourriez avoir. La mienne par exemple, a 2 classes myclass et myclasssec et ressemble à ceci en php

<input name="myinputfield" class="myclass myclasssec" type="text" /> 

il obtient tourné vers:

<input id="dp1243264511551" name="myinputfield" class="myclass myclasssec hasDatepicker" type="text"> 

Notez que les 2 seuls changements tht survenus sont le nouvel identifiant comme je l'ai dit (id="dp124326451455") et la nouvelle classe qui est "ajoutée" à la fin des autres classes: class="myclass myclasssec hasDatepicker"

Espérons que cela vous aide. Mais si vous avez besoin d'aide, vous devrez probablement poster votre source pour que nous puissions mieux vous aider.

Questions connexes