Javascript jQuery自动完成不';如果未选择任何值,则不会激发
用例:用户正在寻找“测试” 工作示例:用户编写“测试”并选择自动完成值 问题:用户写入“测试”并按enter键 下一次当我点击inputfield时,没有自动完成功能,但只有在我按下enter键(选择输入值)之前才有自动完成功能 在我的控制台中从来没有“曾经在这里…”那么为什么自动完成(“搜索”)事件不会触发呢Javascript jQuery自动完成不';如果未选择任何值,则不会激发,javascript,jquery,jquery-autocomplete,Javascript,Jquery,Jquery Autocomplete,用例:用户正在寻找“测试” 工作示例:用户编写“测试”并选择自动完成值 问题:用户写入“测试”并按enter键 下一次当我点击inputfield时,没有自动完成功能,但只有在我按下enter键(选择输入值)之前才有自动完成功能 在我的控制台中从来没有“曾经在这里…”那么为什么自动完成(“搜索”)事件不会触发呢 谢谢大家! 也许你可以解释一下你到底在寻找什么,但这似乎在这里奏效。您没有显示所有代码,或者存在更大的问题,因为您引用that和定义showAutocomplete函数的方式永远无法正常
谢谢大家! 也许你可以解释一下你到底在寻找什么,但这似乎在这里奏效。您没有显示所有代码,或者存在更大的问题,因为您引用
that
和定义showAutocomplete
函数的方式永远无法正常工作
但在小提琴中,每个焦点
和点击
都会显示自动完成。但是,如果选择了某些内容,它将仅显示上次搜索的结果。例如,如果我键入test
并且test
不在结果中,则即使在字段模糊之后,也不会显示任何内容,然后只要输入保持值test
,我再次聚焦它。如果结果中有test
,那么下次我选择该字段时,它将只显示test
。删除该值将显示更多结果
还有that.autocomplete(“search”,that.val())代码>不是如何触发搜索事件或如何初始化它。要设置搜索事件,请执行以下操作:
$("#tags").autocomplete({
source: availableTags,
minLength: 0,
search: function (event, ui) {
// do something on event
}
});
或者在初始化自动完成后,可以执行以下操作:
$el.autocomplete("search", function (event, ui) {
// do something on event
}
);
在您的示例中,每当您关注或单击试图附加新处理程序以进行搜索的字段时,除非您只传递一个值而不是函数。连接搜索后,您可以通过以下操作手动触发搜索:
$el.trigger('search');
但要指出的是,在您的示例中,这实际上不会起任何作用,因为您从未将处理程序附加到搜索事件
小提琴:
HTML:
您在控制台中看到任何错误了吗?你能用片段或小提琴再现这个问题吗?如果您与我们共享一个复制该问题的工作小提琴,我们可以更好地帮助您。您是否尝试了按键
事件?colsole中没有错误。。。我将尝试按键事件并让您知道!如果我模糊-设置输入字段的焦点或删除值,则不会自动完成。。。我必须写一封信,然后自动完成就可以了。你说得对,这把小提琴不需要“这个”,你需要更详细地说明问题所在。正如我在回答中所解释的,如果您试图触发搜索事件,您必须首先将处理程序附加到它,然后手动正确地触发它。具体问题是什么?我所附的提琴工作正常,因此您的代码似乎有问题,但正如我在回答中所述,您没有显示所有代码或有更大的问题,因为您在问题中显示的内容永远不会工作。我无法在jfiddle上创建它,因为我无法在那里制作模型。。。你还有别的想法吗?我怎么才能解开它?我还不知道你想做什么。你想解开什么?你到底有什么问题?
$el.trigger('search');
<label for="tags">Tags:</label>
<input id="tags">
$(function () {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"test",
"Scheme"];
$("#tags").autocomplete({
source: availableTags,
minLength: 0
}).focus(function () {
showAutocomplete($(this));
}).click(function () {
showAutocomplete($(this));
});
function showAutocomplete(that) {
that.autocomplete("search", that.val());
console.log("was here...");
}
});