2

我正在尝试在我的网站上安装 jQuery UI 自动完成功能。我已经启动并工作了,但我希望它在有人单击选项时自动提交搜索表单。默认行为似乎是它只是用所选项目填写表单,然后用户必须单击提交按钮。我希望它像谷歌一样自动重定向。我正在运行 PHP 5.+ 和 MYSQL 5+ 以及 jquery.1.4.2 和 jqueryui.1.8.6。

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

这是表格:

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

如您所见,我正在尝试使用 $('#query').val(ui.item) 更改输入字段“查询”的值。问题是当我选择一个自动完成选项时,$_GET['query'] 变成了 [object Object]。即我的网站搜索字符串“[object Object]”而不是我单击的值。

在表单的底部有一个代码标签,ID 为“results”。我也无法用文本(ui.item)填充它。如果有人可以提供帮助,将不胜感激,我敢肯定,我不是唯一一个希望在其自动完成功能中使用这种类似 Google 的功能的人,但我在任何地方都找不到任何示例。

4

1 回答 1

2

在您的选择功能中试试这个:

$('#query').val(ui.item.value);
于 2010-11-03T18:33:34.253 回答