2

私のJQueryオートコンプリートが常に提案メニューを表示しない理由について、誰かが考えられますか? いつも同じ有効なキーワードを入力していますが、結果が常に表示されるわけではありません。

これは私が使用しているJSです:

$(document).ready(function(){
    $("input#q").autocomplete({
        minLength: 2,
        delay: 350,
        source: "ac.php"
    });
});

Firefox の Web コンソールを確認すると、ac.php が OK ステータス コードで読み込まれていることがわかります。さまざまなキーワードを試してみましたが、どれも表示されません。これはすべて断続的ですが、ページを数回リロードするかブラウザを閉じると、再び機能することがあります。

手動で ac.php?term=whatever にアクセスすると、常に有効なキーワードの結果が表示されます。

ただし、ソースを ["Hi", "There"] に設定すると、正しく動作します。

これらをドキュメントの head タグにロードしています。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>

edit: ac.php にデータを返す関数

    private function to_json($results)
    {
        $output = array();

        foreach($results as $result)
        {
            $output[] = $result->name; // nothing is escaped here
        }

        if(sizeof($output) > 1)
        {
            $uniques = array_unique($output);

            $buffer = array();

            foreach($uniques as $unique)
            {
                $buffer[] = $unique;
            }

            $output = $buffer;
        }

        return json_encode($output);
    }

出力例:

["Sennheiser MM-100 Stereo Bluetooth 2.0 Headset Invisible Mic USB","Polycom VSX7000E W\/POWERCAM CAMERA\/ Soundstation VTX1000\/MIC\/CODE54 (Maintenance Contract Required)","Polycom HDX 7000-720 Kit W\/ Eagle Eye HD Camera HDX Mic","Polycom HDX 6000-720V Kit W\/ Eagle Eye HD Camera Mic Remote"]

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

このようにしてみませんか。鉱山はこのように働いています:-

$( "。autocomplete_text")。autocomplete( "ac.php"、{複数:true、mustMatch:false、autoFill:false});

于 2012-10-11T12:42:56.707 に答える