jQuery UI retour saisie semi-automatique [objet objet] au lieu de la valeur pour Google comme redirect

StackOverflow https://stackoverflow.com/questions/4076655

Question

Je suis en train d'installer l'interface utilisateur jQuery autocomplete sur mon site. Je l'ai et de travail, mais je veux de soumettre automatiquement le formulaire de recherche lorsque quelqu'un clique sur une option. Le comportement par défaut semble être qu'il remplisse tout le formulaire avec l'élément sélectionné et puis l'utilisateur doit cliquer sur le bouton d'envoi. Je veux juste Rediriger automatiquement comme Google. Je suis en cours d'exécution PHP 5. + et MYSQL 5+ et jquery.1.4.2 et jqueryui.1.8.6.

Voici le javascript:

<script>
$(function() {
    $( "#query" ).autocomplete({
        source: "/scripts/autocomplete_handler.php",
        minLength: 2,
        select: function(event, ui) {
                    $('#query').val(ui.item);
                  $("#results").text(ui.item); // for testing purposes
                    $('#search_form').submit();
                }

    });
});
</script>

Voici la forme:

<form name="search_form" id="search_form" action="search.php" method="get">    
  <input type="text" name="query" id="query" />
  <input type="submit" value="Search" />
</form>
<code id="results"></code>

Comme vous pouvez le voir, je suis en train de changer la valeur du champ de saisie « requête » en utilisant $ ( « # requête »). Val (ui.item). Le problème est que lorsque je sélectionne une option de saisie semi-automatique $ _GET [ « La requête »] devient [objet objet]. à savoir mon site Web recherche la chaîne « [object Object] » au lieu de la valeur que je clique dessus.

Au fond de la forme il y a une étiquette de code avec id « résultats ». Je ne peux pas obtenir ce à remplir avec le texte (ui.item). Si quelqu'un pouvait l'aider serait très apprécié, je suis sûr que je ne suis pas le seul qui veut ce type de Google comme la fonctionnalité dans leur saisie semi-automatique, mais je ne peux pas trouver des exemples partout.

Était-ce utile?

La solution

Essayez dans votre fonction select:

$('#query').val(ui.item.value);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top