我正在使用JQuery自动完成。它工作正常。但是,如果某人在没有结果的情况下输入了客户名称,我想显示引导程序错误消息。那也适用BUT 只有第一次。如果您在搜索字段中输入了第二项也是错误的,则if ((data.length == 0) || $.isEmptyObject(data) || (data == null))
会呈现TRUE
,但不管我是否收到错误消息。我甚至尝试在警报后清空数据对象。我还在整个if语句中放置了console.log()
消息,以确保我在流程流程方面没有出错。我可以看到if()
声明正在被触发。但不知何故,警报只适用于第一遍。那么我做错了什么? TKS!如何消除一个对象来满足我的if语句
$('#customer').autocomplete({
minLength:3,
source: function(request, response,term) {
var param = request.term;
$.ajax({
url: "quotes/customer_search/"+param,
dataType: "json",
type:"GET",
success: function (data) { console.log('l 132',data);
if ((data.length == 0) || $.isEmptyObject(data) || (data == null)) console.log('l 133', data)
{ $("#search_customer").addClass("alert alert-warning fade in").append('No Such Person Found',"<a href='#' class=close data-dismiss='alert' aria-label='close' title='close'>×</a>"); /* .hide(5000); */
delete data ; console.log('l 135', data);
}
response($.map(data, function(item, index) { console.log('l 139', data);
return item.id+" "+item.firstname1+" "+item.lastname1+" "+item.telephone1;
}
));//END Success
},
});//END AJAX
},
问题可能是数据丢失。我想当你关闭一个警报时,它会被销毁。也许只是定期提醒。并且如果你想让它被允许的话,可以添加一个按钮,它的点击事件是将警报的显示更改为显示:无;然后当你想再次显示它显示它。也许使用jQuery的.hide和.show –
为什么不使用像bootbox(http://bootboxjs.com/)的库。现在没有太多理由从头开始建立警报。 –
相信他是在说bootstrap twitter alert box,而不是javascript alert –