2009-07-13 5 views
0

J'essaie de faciliter la tâche de mes utilisateurs finaux de rechercher dans mes sites en remplissant automatiquement le champ de recherche lorsque l'utilisateur tape un mot en utilisant des appels ajax.Peu de questions sur les termes de recherche de remplissage automatique

Maintenant, je vais d'abord vous montrer mon code et ensuite j'ajouterai les questions que j'ai.

Voici le code HTML:

<input type="text" id="searchfield" name="q" > 

Et le jquery:

jQuery("#searchfield").keypress(function(e){ 
     var searchval = jQuery("#searchfield").val();  
     console.log(searchval); 

     /* 
     jQuery.ajax({ 
      type: 'POST', 
      url: 'ajax_handler.php', 
      dataType: 'json', 
      data: { 
       search: searchval 
      }, 
      succes: function(data){ 
       console.log("good"); 
       console.log(data.msg); 
      }, 
      error: function(data){ 
       console.log("error"); 
      } 

     }); 
      return false; 
     */ 
    }); 

Note: J'utilise jquery 1.3.2.min.js

  1. Maintenant, quand J'enregistre le searchval comme ça, chaque fois que je vois mon searchterm dans la console. Mais quand je décommente ma requête ajax après avoir tapé une lettre, ma boîte de saisie devient vide.
  2. Quand je Incomment mon ajax et regarde dans firebug quand j'ajoute une lettre à mon searchox la valeur de recherche dans ma demande d'ajax semble être vide. Comment venir?
  3. Comment obtenir une liste déroulante sous par zone de texte contenant les valeurs suggérées. En supposant que les valeurs que je reçois des demandes ajax sont ok. (Je NEET probablement ajouter les valeurs à un objet html, mais lequel et comment?)

C'est basé sur ce tutoriel: Link to tutorial

J'espère que quelqu'un peut me aider. Merci quand même!

Répondre

1

Je pense que les problèmes avec 1. et 2. sont liés à la phrase "return false"; à la fin de votre fonction. Supprimez cela et réessayez.

Comme pour autocomplete je vous suggère de ne pas inventer vélo et rechercher des plug-ins de saisie semi-automatique comme celui-ci: http://www.pengoworks.com/workshop/jquery/autocomplete.htm

+0

Merci pour la réaction. J'ai cherché des plugins. Je les trouve difficiles à utiliser car il ne donne jamais une façon claire d'utiliser. Par exemple, où dois-je donner l'URL pour les demandes ajax. – sanders

+0

Ce plug-in exact il y a la documentation (qui est pas si facile à utiliser): http://www.pengoworks.com/workshop/jquery/autocomplete_docs.txt Vous l'utiliser comme ceci: $ ("# Searchfield ") .autocomplete (" ajax_handler.php "); Supposons que vous avez tapé dans « test », puis en fonction de la documentation autocomplete demandera ajax_handler.php q = test et la réponse doit contenir des éléments chacun sur une seule ligne, comme: test Testament Test et ainsi sur ... Espérons que cela aide. – algiecas

Questions connexes