自动完成文本框----没有找到值
我一直在使用jQuery函数来实现自动完成的文本框,我取出由DB的建议值。一切都很美好。自动完成文本框----没有找到值
但是,如果没有匹配的数据发现,我想显示一些用户友好的消息,说“没有找到匹配”给用户,并清除文本框。我怎么能实现这个?
加入currnt代码
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);
});
}
由于尤里Rozhovetskiy。
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);
});
}
我不想在警报中显示此内容。我想将其作为回应发送给用户。我试过了,但它是垂直显示?用代码编辑我的问题 – user2067567 2013-03-09 09:34:14
您可以在返回值的脚本返回该值。
而是没有返回的,只是检查,如果你有一定的值,如果不包含 - 值“找不到匹配”一个返回值的数组。
你说什么是符合逻辑的,但是如何解决与'“未找到匹配”'元素的selectness问题?您需要以某种方式禁用它 – Engineer 2013-03-01 08:28:49
改变了我的代码,由尤里Rozhovetskiy很少的修改建议发送的JSON工作
var error = ["No match"];
if (a.length == 0) {
responseFn(error);
}
else {
responseFn(a);
}
您可以通过使用实现这个javascript和css规则和html标记以及(也许)服务器端技术(可选),可能会有一个预编译支持来显示自定义消息.... PS请显示您尝试过的一些代码。我们应该如何猜测插件的名称? – dakait 2013-03-01 07:18:15
尝试过什么......? – 2013-03-01 07:18:55
看看到自动填充combbox ..我想这是你所需要的http://jqueryui.com/autocomplete/#combobox – bipen 2013-03-01 07:20:40