jquery - 如何将 "No results"项目添加到我的自动完成中?

标签 jquery jquery-autocomplete

如果我的 jQuery 自动完成请求返回空,我想将“无结果”添加到下拉列表中。但我到底该怎么做呢?

在此示例中,我删除了一些内容以缩短/使代码更简单:

$(element).autocomplete({
    source: function (request, response) {
        $.ajax({
            success: function (data) {
                response(data);
            }
        });
    },
    response: function(e, ui){
        if (ui.content.length === 0) {
         // Could I do something here?
        }
    },
    select: function(e, ui){
        // Do stuff here
        return false;
    }
// This is not triggered if DB returns empty
}).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
    return jQuery( "<li></li>" )
      .data( "ui-autocomplete-item", item )
      .append( "<a id='" + item.id + "'>"+ item.name + "</a>" )
      .appendTo( ul );
}

最佳答案

在您的响应对象中,添加以下内容:

response: function(event, ui) {
    if (!ui.content.length) {
        var noResult = { 
             value: "", 
             label: "No results found" 
         };
         ui.content.push(noResult);                    
     } else {
        $("#message").empty();
     }
},

<强> JSFiddle

关于jquery - 如何将 "No results"项目添加到我的自动完成中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25727939/

相关文章:

jquery - 添加指向 JQueryUI 自动完成项的链接

jquery - 如何将 jQuery 自动完成与 POST 查询连接到远程数据源?

javascript - 未调用自动完成 formatItem, Firebug 中也没有任何错误

javascript - Jquery 脚本不引起任何交互

javascript - 如何从 jquery 的下拉列表中选择动态创建的文本框的验证?

javascript - 将 DatePicker 添加到模态时出现问题 - 在背景中显示

javascript - 删除 id 或 class 但保留样式

javascript回调上下文问题

javascript - jquery ui 自动完成 : navigating json objects

c# - ASP.Net MVC Jquery UI 自动完成 - 列表在我调试时不显示