JQuery UI AutoComplete Returning [Objeto do objeto] em vez de valor para o Google como redirecionar
-
28-09-2019 - |
Pergunta
Estou tentando instalar o Autocompleto JQuery UI no meu site. Eu tenho e funcionando, mas quero que ele envie automaticamente o formulário de pesquisa quando alguém clica em uma opção. O comportamento padrão parece ser que apenas preenche o formulário com o item selecionado e então O usuário deve clicar no botão Enviar. Eu quero que ele seja redirecionado automaticamente como o Google. Estou executando o Php 5.+ e o MySQL 5+ e o JQuery.1.4.2 e Jqueryui.1.8.6.
Aqui está o 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>
Aqui está o formulário:
<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 você pode ver, estou tentando alterar o valor do campo de entrada "Query" usando $ ('#Query'). Val (ui.item). O problema é que, quando seleciono uma opção de preenchimento automático $ _get ['Query'] se torna [objeto objeto]. ou seja, meu site procura a string [objeto objeto] em vez do valor que eu cliquei.
Na parte inferior do formulário, há uma tag de código com ID "Resultados". Também não consigo fazer isso preencher com o texto (UI.item). Se alguém pudesse ajudá -lo seria muito apreciado, tenho certeza de que não sou o único que deseja esse tipo de funcionalidade do Google como o AutoComplete, mas não consigo encontrar nenhum exemplo em nenhum lugar.
Solução
Experimente isso em sua função selecionada:
$('#query').val(ui.item.value);