我正在研究jquery,我有一个带有自动完成功能的文本框,它适用于单个单词,但是当我在该文本框中输入第二个单词时,第一个单词就会失败。
假设首先输入 Java 然后 Java Script ,第一个 Java 将从文本框中消失。
这是代码,
<script>
$("#tag").autocomplete( {
source: "http://localhost:8080/autocomp",
multiple: true,
mustMatch: true,
autoFill: true
});
</script>
Textbox应包含 Java , Javascript
等文字答案 0 :(得分:0)
你的问题是来源。 来源:“http:// localhost:8080 / autocomp”
尝试将值添加到变量中或以不同的方式获取源。
答案 1 :(得分:0)
我知道这是一个古老的问题但是当我遇到同样的问题时,它在搜索排名中名列前茅。这在jQuery&gt;中得到支持。 1.8。 Their example是:
<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>
我已经对此进行了测试,但确实有效。