尝试使用jquery ui autocomplete完成一些简单的事情

时间:2012-11-12 17:37:06

标签: javascript jquery autocomplete jquery-autocomplete

我想将用户输入的值用于受自动填充小部件影响的输入,希望以下内容对我想要实现的内容不言自明:

source: $(this).val()

我认为$(this).val()不起作用,因为源需要一个对象?

我是JavaScript的新手,谢谢。

$(".myinput").autocomplete({
    source:$(this).val()
});

1 个答案:

答案 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事件可能会对此有所帮助。)