jQuery UI自动完成返回[object Object]而不是像重定向那样的Google值

时间:2010-11-02 10:11:42

标签: jquery-ui object jquery-ui-autocomplete

我正在尝试在我的网站上安装jQuery UI自动完成功能。我已经完成并且正在工作,但我希望它在有人点击某个选项时自动提交搜索表单。默认行为似乎是它只是用所选项填写表单,然后用户必须单击提交按钮。我希望它像Google一样自动重定向。我正在运行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)更改输入字段“query”的值。问题是,当我选择自动完成选项时,$ _GET ['query']变为[object Object]。即我的网站搜索字符串“[object Object]”而不是我点击的值。

在表单底部有一个id为“results”的代码标记。我也无法用文本填充(ui.item)。如果有人可以提供帮助,我将非常感激,我确信我不是唯一一个在自动完成时想要这类Google功能的人,但我在任何地方都找不到任何例子。

1 个答案:

答案 0 :(得分:2)

在您的选择功能中尝试此操作:

$('#query').val(ui.item.value);