1

jQueryオートコンプリートを使用してユーザーが適切なアイテムを選択できるようにする一連のテキスト入力ボックスがあります。アイテムが一致する必要があります。一致しない場合、フィールドは空白のままにする必要があります。この部分は正常に動作します。

現在、これには、ユーザーがフィールドをクリックしてから、選択を行う前に一致するテキストの入力を開始する必要があります。常にではありませんが、多くの場合、一致する最初の数文字がスクリプトによって認識されます (ただし、フィールドごとに変化します)。文字がわかっている場合は、ユーザーが入力フィールドをクリックできるようにしてから、検索が表示され、それらの数文字を使用して検索を開始できるようにすることで、ユーザーを支援したいと思います。文字が間違っている可能性があります。その場合、ユーザーはそれらを削除し、独自の入力を入力して一致を選択できます。

私が欲しいと思うのは、基本的に、ユーザーが入力をクリックしたときにそれらを入力することです。次に、それが魔法のように自動検索をトリガーし、そこから取得します。しかし、これを行う最善の方法は何ですか?

私は持っている:

$("#input_thing").autocomplete('query.php', {
    width: 300,
    multiple: false,
    matchContains: false,
    formatItem: formatItem,
    formatResult: formatResult,
    mustMatch: true,
    cacheLength: 1,
    extraParams: {
        "category": function () {
            return $("#category option:selected").val()
        },
        "order": "1"
    }
}); // edit note:  added missing `});`

$("#input_thing").focus(function () {
    if ($("#search_starting_text").text().length > 0 && $("#input_thing").text() == 0) {
        //This meets my conditions for helping the user but not sure what to do here!!!
    }
}); // edit note:  added missing `);`

それがこれを行う正しい方法でない場合、私はそれをタイプするつもりはありません。また、とにかくそれを機能させることができませんでした。助言がありますか?

4

1 に答える 1

1

これがプラグインではなくjQueryUI 1.8のオートコンプリートであると仮定すると、検索メソッドを呼び出す必要があります。

ドキュメントから:

.autocomplete( "search" , [value] ) 検索イベントをトリガーします。データが利用可能になると、候補が表示されます。選択ボックスのようなボタンで使用して、クリックしたときに提案を開くことができます。値の引数が指定されていない場合、現在の入力の値が使用されます。空の文字列と minLength: 0 で呼び出して、すべてのアイテムを表示できます。

それで...

if ($("#search_starting_text").text().length > 0 && $("#input_thing").text() == 0) {

    $("#input_thing").autocomplete( "search",$("#search_starting_text").text());
        //This meets my conditions for helping the user but not sure what to do here!!!
}
于 2011-02-01T06:52:47.023 に答える