我想将用户输入的值用于受自动填充小部件影响的输入,希望以下内容对我想要实现的内容不言自明:
source: $(this).val()
我认为$(this).val()
不起作用,因为源需要一个对象?
我是JavaScript的新手,谢谢。
$(".myinput").autocomplete({
source:$(this).val()
});
答案 0 :(得分:1)
我认为你正在使用source
参数错误地用于jQuery UI的自动完成。 $(this).val()
将从$(this)
DOM对象中获取当前值(假设它是指向的对象)。
相反,source
参数应该指向输入的可能完成源。例如from the jQuery UI website
$(function() {
var availableTags = ["ActionScript", "AppleScript", "Asp", "BASIC",
"C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang"];
$( "#tags" ).autocomplete({
source: availableTags
});
});
从这个示例中可以看出,source
指向一个可能的标记值数组,这些标记值将在用户开始输入时自动完成。
解决我对OP问题的新理解:
要将用户的当前条目添加到自动填充中,您可以使用以下代码:
$( "#tags" ).autocomplete("option","source",
availableTags.concat($("#tags").val()));
每次输入更改时都需要调用它(使用keypress
事件可能会对此有所帮助。)