自动完成以填充输入焦点上的所有值

autocomplete to populate all values on input focus

我有自动完成文本框,其值是使用 ajax 调用 returns json 数据填充的。这适用于以下代码行。

$("#searchTitle").autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "/umbraco/Surface/MyApp/StartSearch",
            type: "POST", dataType: "json",
            data: { term: request.term },
            success: function (data) {
                debugger
                response($.map(data, function (item) {
                    debugger
                    return { label: item.Cat_Name };
                }));
            }
        });
    },
    messages: { noResults: "", results: "" },
    minLength: 0
});

但是当用户键入内容时会调用此函数。现在,我希望当输入集中时,响应中的所有值都应显示在自动完成中。我怎样才能触发相同的?

您可以通过输入焦点自动完成的搜索事件来实现。

例如

$( "#searchTitle" ).focus(function() {
    // make sure you put space between double quote 
    $( "#searchTitle" ).autocomplete("search", " " ); 
});