如果自动完成功能适用于错误/失败案例,您能否帮我解决如何删除微调器/加载图像的问题?
如果我收到错误“由于意外错误,我们无法加载数据”我看到加载图像,我想删除该图像。
以下是摘录
$("Autotxt").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Webservice.asmx/GetNames",
data: "{'prefixText':'" + request.term + "'}",
dataType: "json",
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.split('|')[0],
val: item.split('|')[1]
}
}))
},
error: function (result) {
alert("Due to unexpected errors we were unable to load data");
ServiceFailed(result);
},
failure: function (response) {
alert("Due to unexpected errors we were unable to load data");
}
});
},
select: function (event, ui) {
txtSoID(ui.item.val);
},
minLength: 4
});
function txtID(val)
{
alert(val)
}
答案 0 :(得分:3)
如果您指的是通过ui提供的加载类,您应该能够执行以下操作:
error: function (result) {
$('.ui-autocomplete-loading').removeClass("ui-autocomplete-loading");
// or .hide()
alert("Due to unexpected errors we were unable to load data");
ServiceFailed(result);
},
我在页面底部的jqueryUI development site找到了关于css和主题的课程信息。
答案 1 :(得分:2)
我在代码中看不到任何加载屏幕。但你可以简单地添加函数
var removeSpinner = function() {
$("yourloader").hide();
}
并在您的失败或错误回调中调用它,如
error: function (result) {
removeSpinner();
alert("Due to unexpected errors we were unable to load data");
ServiceFailed(result);
}
答案 2 :(得分:0)
对这些图像执行检查元素,检查他们的类(例如'loader'),然后将其放入错误和失败回调$(".loader").hide()
中。
答案 3 :(得分:0)
根据我的回答改编,在搜索完成后添加以下代码(即使结果为0):
var __response = $.ui.autocomplete.prototype._response;
$.ui.autocomplete.prototype._response = function(content) {
__response.apply(this, [content]);
this.element.trigger("autocompletesearchcomplete", [content]);
};
该代码将触发一个事件(autocompletesearchcomplete),然后您可以将其绑定到:
$("#q").bind("autocompletesearchcomplete", function(event, contents) {
/* Remove spinner here */
});
希望这有帮助...