1

オートコンプリートのウィジェットの影響を受ける入力にユーザーが入力した値を使用したいのですが、次のことが私が達成したいことの自明であることを願っています。

source: $(this).val()

$(this).val()ソースがオブジェクトを期待しているため、機能しないと思いますか?

JavaScriptは初めてです。ありがとうございます。

$(".myinput").autocomplete({
    source:$(this).val()
});
4

1 に答える 1

1

sourcejQueryUIのオートコンプリートに引数を誤って 使用していると思います。$(this).val()DOMオブジェクトから現在の値を取得し$(this)ます(それが指していると仮定します)。

代わりに、source引数は入力の可能な補完のソースを指していると想定されています。jQueryUIWebサイトの例として

$(function() {
    var availableTags = ["ActionScript", "AppleScript", "Asp", "BASIC",
        "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang"];
    $( "#tags" ).autocomplete({
        source: availableTags
    });
});

この例からわかるようsourceに、ユーザーが入力を開始するとオートコンプリートされる可能性のあるタグ値の配列を指します。

OPの質問に対する私の新しい理解に対処するには:

ユーザーの現在のエントリをオートコンプリートに追加するには、次のようなコードを使用できます。

$( "#tags" ).autocomplete("option","source",
    availableTags.concat($("#tags").val()));

これは、入力が変更されるたびに呼び出す必要があります(keypressイベントを使用すると役立つ場合があります)。

于 2012-11-12T18:23:46.037 に答える