我正在使用jQuery UI在输入字段上执行自动完成 - 当我拥有可以匹配的有效数据时,它会按预期工作,但是如果它无法将搜索项与数据库中的某些内容匹配,则ajax微调器会继续旋转?
如果用户输入一个在x秒后无法匹配的术语,我将如何修改它,它将停止微调器&显示组织无法找到'在transformResult函数中?
// error in console.log
suggestions is undefined
自动完成的实际jQuery代码如下:
$('#org_search_term, #org_search_postcode').autocomplete({
serviceUrl: '<?php echo $this->getUrl('rp/organisation/search', array('_secure' => true)) ?>',
paramName:'term',
minChars: 3,
deferRequestBy: 500,
dataType: 'json',
onSearchStart: function(){
$('#org_search_term, #org_search_postcode').addClass('loading');
},
onSearchComplete: function(){
$('#org_search_term, #org_search_postcode').removeClass('loading');
},
onSearchError: function(){
$('#org_search_term, #org_search_postcode').removeClass('loading');
},
onSelect: function(selected, data) {
},
transformResult: function (response) {
var results = { suggestions:[] };
if (!response.totalRecords)
return false;
$.each(response.items, function(i, item){
results.suggestions.push({
value: item.organisation_name+', '+item.street+', '+item.town+', '+item.county+', '+item.postcode+', '+item.country,
data: item.organisation_id,
organisation_name: item.organisation_name
});
});
// add the catch all result
results.suggestions.push({
value: '<?php echo $this->__('My org is not listed') ?>',
data: null,
organisation_name: null
});
return results;
}
});