jquery - 自动完成文本框----未找到值

标签 jquery jquery-autocomplete

我已经使用 jquery 函数实现了一个自动完成文本框,并从数据库中获取建议值。一切看起来都很好。

但如果没有找到匹配的数据,我想向用户显示一些用户友好的消息,说“没有找到匹配”并清除文本框。我该如何实现这个?

添加了当前代码

function txtAutoComplete(acUrl, minLength, txtbxId) {
    $("#" + txtbxId).autocomplete({
        minLength: minLength, 
        source: function (request, responseFn) {
                $.post(acUrl, null, function (resp) {
                var txtValue = $.ui.autocomplete.escapeRegex(request.term);
                var matcher = new RegExp("^" + txtValue, "i");
                var a = $.grep(resp, function (item, index) {
                    return matcher.test(item);
                });
                responseFn(a);
            });
        }

感谢尤里·罗佐韦茨基。

var error = 'No match';
if (a.length == 0) {
    responseFn(error);
}
else {
    responseFn(a);
}

但是错误建议是垂直显示的,我怎样才能让它像正常的自动建议一样显示。 谢谢

最佳答案

您可以在源函数中执行所有这些工作:

source: function (request, responseFn) {
    $.post(acUrl, null, function (resp) {
        var txtValue = $.ui.autocomplete.escapeRegex(request.term);
        var matcher = new RegExp("^" + txtValue, "i");
        var a = $.grep(resp, function (item, index) {
            return matcher.test(item);
        });

        if(a.length == 0){
            alert("No matches found");
            $("#" + txtbxId).val("");
        }
        responseFn(a);
    });
}

关于jquery - 自动完成文本框----未找到值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15152530/

相关文章:

jquery - 我的 CSS 过渡仅在一个方向上起作用

javascript - 使用 prepend 的动态序列框逻辑

php - 通过 jQuery 使用 AJAX 发布 MySQL 结果

jquery - jQuery 自动完成菜单中奇怪的白框

javascript - jquery ui 自动完成类别显示水平,而不是垂直

javascript - AJAX提交后如何验证表单?

javascript - 在rails app + jquery 中生成的链接错误地定向到本地主机

javascript - jquery 自动完成功能在 ajax 选项卡中不起作用

javascript - 使用数据库中的数据填充 jquery 自动完成功能

javascript - jQuery 自动完成功能对我不起作用