jQuery UI autocompletar regresar [object Object] en lugar del valor de Google como redirección

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

Pregunta

Estoy tratando de instalar el autocompletar jQuery UI en mi sitio web. Lo tengo y funciona sin problemas, pero quiero que presentara automáticamente el formulario de búsqueda cuando alguien hace clic en una opción. El comportamiento por defecto parece ser que simplemente rellena el formulario con el elemento seleccionado y después , el usuario debe hacer clic en el botón de envío. Quiero que se redirija automáticamente simplemente como Google. Estoy corriendo PHP y MySQL 5. + 5+ y jquery.1.4.2 y jqueryui.1.8.6.

Esta es la 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>

Esta es la forma:

<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>

Como se puede ver, estoy tratando de cambiar el valor de la "consulta" campo de entrada utilizando $ ( '# query'). Val (ui.item). El problema es que cuando selecciono una opción de autocompletar $ _GET [ 'consulta'] se convierte en [object Object]. es decir, mi página web busca la cadena "[object Object]" en lugar del valor que he hecho clic.

En la parte inferior de la forma no es una etiqueta de código con el ID "Resultados". Asimismo, no puede conseguir esto para rellenar con el texto (ui.item). Si alguien puede ayudar sería muy apreciada, estoy seguro que no soy el único que quiere este tipo de funcionalidad como Google en su autocompletar, pero no puedo encontrar ningún ejemplo en cualquier lugar.

¿Fue útil?

Solución

Pruebe esto en su función de selección:

$('#query').val(ui.item.value);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top