[autocomplete] Ajouter un écouteur
Bonjour à tous,
j'utilise jQuery et le plugin autocomplete dans un formulaire de saisie CP + nom de la ville. Ce plugin me permet d'afficher une liste de suggestion et d'insérer l'identifiant de la ville sélectionnée dans un input caché via la méthode result().
JS :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $('#id-input-cp')
.autocomplete(aVillesByCP) // tableau (id_ville, cp, nom)
.result(function(event, data, formatted) {
// identifiant de la ville sélectionnée
$("#id-hidden-idville").val( !data ? '' : data[1] );
// nom de la ville sélectionnée
$("#id-input-ville").val( !data ? '' : data[2] );
})
$('#id-input-ville')
.autocomplete(aVillesByNom) // tableau (id_ville, nom, cp)
.result(function(event, data, formatted) {
// identifiant de la ville sélectionnée
$("#id-hidden-idville").val( !data ? '' : data[1] );
// CP de la ville sélectionnée
$("#id-input-cp").val( !data ? '' : data[2] );
}) |
HTML :
Code:
1 2 3
| <p>CP : <input type="text" id="id-input-cp" name="cp" maxlength="5" value="" /></p>
<p>Nom : <input type="text" id="id-input-ville" name="ville" maxlength="255" value="" /></p>
<p>ID Ville : <input type="text" id="id-hidden-idville" name="id_ville" value="" /></p> |
Tout fonctionne bien.
A présent, j'aimerais supprimer la valeur du champ caché "id-hidden-idville" lorsque l'autocomplete ne trouve pas de résultats.
ex :
Code:
1 2
| if (pas de résultat)
$("#id-hidden-idville").val(''); |
Je pensais que result() était exécuté à chaque fois, mais apparemment ce n'est pas le cas !
Cette fonctionnalité existe peut être déjà mais je n'ai pas trouvé... :? ou alors je m'y prend pas correctement...
Quelqu'un pourrait-il m'aider ?
Merci d'avance...