当结果为空时,我想在jquery autocomplete上发出“无匹配”消息。
部分答案是here,但它没有准确解释如何在自动完成下拉列表中显示“无匹配”结果。
更新:这是我基于当前答案的代码..
HTML:
<input type="text" name="myAutocomplete" id="myAutocomplete">
jQuery的:
$("#myAutocomplete").autocomplete("ajax.php", {
selectFirst: false,
resultsClass: 'my_results_class',
parse: function(data) {
if (!data || data.length == 0) {
$('#myAutocomplete option').val('No Matches');
}
},
focus: function(event, ui) {
if($(ui.item).val() == 'No Matches')
$(ui.item).disable();
},
select: function(event, ui){
if($(ui.item).val() == 'No Matches')
return false;
}
});
答案 0 :(得分:1)
首先,返回值为'No matches'的结果或任何你想要的结果,然后在jquery autocompleter上添加这些处理程序
focus: function(event, ui){
if($(ui.item).val() == 'No Matches')
$(ui.item).disable();
},
select: function(event, ui){
if($(ui.item).val() == 'No Matches')
return false;
},
这样可以防止用户选择“无匹配”条目。
答案 1 :(得分:0)
从previous answer开始,您需要在以下位置添加此代码:
if (!data || data.length == 0) {
// handle no data case specially
}
成功:
if (!data || data.length == 0) {
$('#dropdown_id option').val('No Matches');
}
<强>更新强>
而不是:
$('#myAutocomplete option').val('No Matches');
使用:
$('#myAutocomplete').val('No Matches');
<强>更新强>
使用:
$('#school-term').val('No Matches');