2

Web サイトに 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] になることです。つまり、私の Web サイトは、クリックした値ではなく、文字列 "[object Object]" を検索します。

フォームの下部に、id "results" のコード タグがあります。これにテキスト(ui.item)を入力することもできません。オートコンプリートでこのタイプの Google のような機能を望んでいるのは私だけではないと確信していますが、どこにも例が見つかりません。

4

1 に答える 1

2

あなたのselect関数でこれを試してください:

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