Question

J'ai un cas très intéressant où le champ de saisie semi-automatique JQuery ne répond pas la première fois que je tape dans la zone de texte, mais lorsque je la place en dehors de la zone de texte et que le curseur revient à la seconde fois, il commence à répondre. et les résultats sont affichés lorsque je commence à taper.

Quand j'utilise firebug, je peux réellement voir que la fonction AJAX de mon application a été appelée et que les résultats sont renvoyés au modèle HTML, mais que les résultats ne sont pas affichés. Qu'est-ce qui peut provoquer ce comportement?

Code de liaison de ma fonction:

  $(function()
  {
    $(document).ready(function(){
       $("#tags1").bind("keyup",autoFill)
      });
   });

Ma fonction de saisie semi-automatique

 function autoFill(){
           $("#tags1").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
         });
       }

Mon champ TextBox:

 <input type="text" style="width: 400px" id="tags1" name="tags1" value="">
Était-ce utile?

La solution

Pourquoi faites-vous l'appel autocomplete () sur Keyup? Je pense que cela pourrait causer vos problèmes. J'essaierais d'appeler autocomplete () directement à partir de l'événement document ready.

$(document).ready(function(){

        $("#tags1").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
         });

      });

Autres conseils

Si vous utilisez le même système de saisie semi-automatique que celui que j’utilisais aujourd’hui (sur un autre ordinateur, désolé - impossible de savoir quelle était la version exacte) - vous n’avez pas besoin de vous lier sous keyup - vous ne liez qu’une seule fois au démarrage -

<script>
    $('#tags1').autocomplete(....);
</script>

La fonction de saisie semi-automatique gère toutes les pressions sur les touches / modifications de la mise au point, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top