J'ai un champ de saisie dans lequel j'essaie de faire une suggestion d'autocomplétion. Le code ressemble à
<input type="text" id="myinput">
<div id="myresults"></div>
Sur les entrées blur()
Je veux cacher la div "résultats" :
$("#myinput").live('blur',function(){
$("#myresults").hide();
});
Lorsque j'écris quelque chose dans mon input, j'envoie une requête au serveur et j'obtiens une réponse json, je l'analyse dans la structure ul->li et je place cet ul dans mon #myresults
div.
Lorsque je clique sur cet élément li analysé, je veux définir la valeur de li comme entrée et la cacher. #myresults
div
$("#myresults ul li").live('click',function(){
$("#myinput").val($(this).html());
$("#myresults").hide();
});
Tout se passe bien, mais lorsque je clique sur mon lien, j'ai l'impression d'être dans une impasse. blur()
se déclenche avant que l'événement click()
et la valeur de l'input ne reçoit pas le html du li.
Comment puis-je mettre en place click()
événement avant blur()
?