0

ユーザーが単語を入力するとオートコンプリートが表示されるアプリがあります。適切なオートコンプリートを選択すると、そのオートコンプリートがフィールドに追加されinput、ユーザーは入力を続けます。(オートコンプリートリストではなく)入力ボックスでその単語を強調表示し、ボックス内の残りの単語を強調表示しないようにしたいのですが、この例は見つかりません。

$(searchBoxId).autocomplete({
    source:      keys,
    delay:       0,
    selectFirst: true,
    select:      function(event, ui) {
        var TABKEY = 9;
        this.value = ui.item.value;

        if (event.keyCode == TABKEY) {
            event.preventDefault();
            this.value = this.value + " ";
            // XXX something goes here?
            this.focus();
        }

        return false;
    },
    autoFocus: true,
    minLength: 2
});

これはjquery1.8.20です。「ハイライト」とは、「FacebookやGoogle+がユーザー名をハイライトするのと同じように視覚的に区別できるようにすることができる」という意味です。

4

1 に答える 1

1

すでにjQueryを使用しているので、jQueryタグのようなものを使用することを検討することをお勧めします。

オートコンプリートをサポートし、探しているデータの差別化を行います。

contenteditable基本的な概念は、テキストボックスを取得し、フラグを設定してdivにすることです。イベントをリッスンしkeypressます。具体的には、スペースバーとEnterキーです。それらがヒットしたら、最後に入力されたテキスト(すでに「タグ付け」されていない)を取得し、を作成し<div>て追加します。

または、プラグインを使用してください...

于 2012-06-19T12:56:13.407 に答える