0

我正在研究 jquery,我有一个带有自动完成功能的文本框,它适用于单个单词,但是当我在该文本框中输入第二个单词时,第一个单词会变得不受欢迎。

假设我首先输入了Java然后是Java Script,第一个Java从文本框中消失了。

这是代码,

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

文本框应该有像JavaJavascript这样的文本

4

2 回答 2

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 回答
0

你的问题是根源。来源:“http://localhost:8080/autocomp”

尝试将值添加到变量中或以不同的方式获取源。

于 2012-10-12T10:47:41.083 回答