2

タグ入力フィールドを作成しようとしています。Bootstrap の Tokenfield でjquery UI Autocomplete を使用しています。しかし、オートコンプリートは起動しません。以下のコードを見てください。

Javascript

$(function () {
    $("#TagsInput").tokenfield({
        autocomplete: {
            source: function (request, response) {
                $.getJSON("/SearchTags/", {
                    term: extractLast(request.term)
                }, response);
            },
            search: function () {
                var term = extractLast(this.value);
                if (term.length < 1) {
                    return false;
                }
            },
            focus: function () {
                return false;
            },
            select: function (event, ui) {
                var terms = split(this.value);
                terms.pop();
                terms.push(ui.item.value);
                terms.push("");
                this.value = terms.join(",");
                return false;
            }
        }
    });

HTML

<input type="text" value="love,you" id="TagsInput" class="form-control" />

Tokenfield のドキュメントによると、次のコードは正常に動作します。

    $('#TagsInput').tokenfield({
  autocomplete: {
    source: ['red','blue','green','yellow','violet','brown','purple','black','white'],
    delay: 100
  },
  showAutocompleteOnFocus: true
})

/SearchTags/URLからこのようなJson配列を返しています

[{"id":1,"value":"Love"},{"id":2,"value":"Hate"}]

これを理解するのを手伝ってください、私はJavaスクリプトが苦手です。本当にありがとう

4

0 に答える 0