0

私はjqueryに取り組んでいます.オートコンプリート付きのテキストボックスがあり、単一の単語で機能していますが、そのテキストボックスに2番目の単語を入力すると、最初の単語が消えます.

最初にJavaを入力し、次にJava Scriptを入力すると、最初のJavaがテキストボックスから消えます。

ここにコードがあります、

<script>
$("#tag").autocomplete( {
    source: "http://localhost:8080/autocomp",
        multiple: true,
        mustMatch: true,
        autoFill: true
    });
</script>

Textbox にはJavaJavascriptのようなテキストが必要です

4

2 に答える 2

0

あなたの問題はソースです。ソース: 「http://localhost:8080/autocomp」

変数に値を追加するか、別の方法でソースを取得してみてください。

于 2012-10-12T10:47:41.083 に答える
0

これは古い質問だと思いますが、同じ問題が発生したときに検索ランキングで高くなりました。これは jQuery > 1.8 でサポートされています。その例は次のとおりです。

<script>
$(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"];

    function split(val) {
        return val.split(/,\s*/);
    }

    function extractLast(term) {
        return split(term).pop();
    }
    $("#tags")
    // don't navigate away from the field on tab when selecting an item
    .bind("keydown", function (event) {
        if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) {
            event.preventDefault();
        }
    })
        .autocomplete({
        minLength: 0,
        source: function (request, response) {
            // delegate back to autocomplete, but extract the last term
            response($.ui.autocomplete.filter(
            availableTags, extractLast(request.term)));
        },
        focus: function () {
            // prevent value inserted on focus
            return false;
        },
        select: function (event, ui) {
            var terms = split(this.value);
            // remove the current input
            terms.pop();
            // add the selected item
            terms.push(ui.item.value);
            // add placeholder to get the comma-and-space at the end
            terms.push("");
            this.value = terms.join(", ");
            return false;
        }
    });
});
</script>

私はこれをテストしましたが、動作します。

于 2013-06-11T12:14:27.530 に答える