Construire un sélecteur jQuery vers une zone de formulaire dont le nom contient des crochets

Lorsqu’on développe en Php il est fréquent d’utiliser des crochets ([]) dans les noms des zones afin de construire une réponse qui se présentera sous la forme d’un tableau.
Par exemple :

<input type='text' name='event_start[date]' id='event_start[date]' size='15' maxlength='25' />

Suivi de :

<input type='text' name='event_start[time]' id='event_start[time]' size='8' maxlength='8' />

(cas typique de 2 zones de textes utilisées pour saisir la date et l’heure via un calendrier)

Au-delà, bien au-delà, de la conformité, ou pas, de ce genre de nom, la difficulté avec jQuery c’est de construire un sélecteur (qui fonctionne) vers ce genre de zone.

Pour y avoir passé pas mal d’heures l’année dernière et encore aujourd’hui (« mais pourquoi je n’ai pas marqué ça quelque part … ») je me décide enfin à faire un « pense bête » sur le sujet…

Pour construire un sélecteur jQuery vers la partie date de mon exemple, il faudra faire :

$('#event_start<strong>\\[</strong>time<strong>\\]</strong>').val();

L’information provient à l’origine de cette page.

En résumé, pour échapper les crochets ([]) il faut placer un double anti slash devant chaque crochet, comme ceci : \\[

Articles connexes :

  1. jQuery, que lisez-vous ? ...
  2. Gérer une ambiance différente en fonction de la saison dans Prestashop ...
  3. Comment utiliser une version locale de l’aide Php en français dans Eclipse PDT (et Zend Studio) ...
  4. Une très belle vidéo sur les livres ...
  5. Serveur Linux Ubuntu sous VMWare sur une eeeBox Asus (et sous Windows) ...

2 thoughts on “Construire un sélecteur jQuery vers une zone de formulaire dont le nom contient des crochets

  1. A bon, un double antislash… il fallait le savoir.

    Je suppose que tout les caractères spéciaux doivent subir le même sort si l’on veut les utiliser dans un sélecteur.

  2. Bonjour,

    merci pour cette astuce, car cela m’a servi à échapper des points.
    J’avais en fait un identifiant HTML contenant des points à l’intérieur (que je pouvais changer, étant généré par une librairie toute faite).
    Sans cette astuce, je ne pouvais accéder à cet élément.

    Merci encore.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>