2

jQueryオートコンプリートを使用しています

$(function() {
    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ];
    $( "#tags" ).autocomplete({
        source: availableTags
    });
});

私がやりたいのは、availableTagsを削除して、たとえばdiv.post h3.username内で検索するようにすることです。そして、そこからユーザー名を取得します。また、これをテキストエリアに使用したいのですが、これは可能ですか?

次の質問は、最初に@を書き込んだときにのみこれを機能させることができるかどうかです。その後、@ TのようなユーザーがすべてのTユーザーを表示しますか?

4

3 に答える 3

0

「div.posth3.username」で使用するすべてのユーザー名がある場合は、すべてのユーザー名(削除するユーザー名と同様)を含むリストを作成する必要がありますが、さらにヘルプが必要な場合は、それらの名前がその要素にどのように含まれるか。

@を使用してユーザー名を取得する場合は、必要な内容によって異なります。たとえば、書かれたテキストの横に提案されたユーザー名を含む新しいボックスを表示する必要があると主張する場合、textareasではそれは不可能です。これは、書いている場所の座標をローカライズするためのクロスブラウザソリューションがないためです。textareaの代わりに、contenteditable属性を持つdivを使用する必要があります。ただし、これらのユーザー名をテキストエリアの下の別のdivに含めたい場合は、それはかなり可能です。あなたが期待していることを説明したいのであれば、多分私はいくつかのコードを提供することができます。

ただし、この種のオートコンプリートをお勧めします。

于 2012-10-19T23:14:15.697 に答える
0

コンテンツに応じてリストから検索するなど、凝った完成をしたい場合は、カスタム検索機能を実行する必要があります。あなたの代わりに次のsource: availableTagsようなことをするでしょう

source: function(request, response) { .... } 

この関数の記述方法の詳細については、 http://api.jqueryui.com/autocomplete/を参照してください。ただし、@記号などを解析するために必要な柔軟性が得られます。

于 2012-10-19T23:20:30.660 に答える
0

タグのリストを動的に生成するのは非常に簡単です。オプションの配列を提供する代わりにsource:、DIVを検索し、一致するすべてのタグを返す関数を提供します。

ソース関数はユーザーが入力した内容を確認できるため、入力で始まる単語を検索し、それ@を使用して補完を見つけることができます。

于 2012-10-19T23:26:47.320 に答える