2014-09-08 2 views
1

Если мой запрос автозаполнения jQuery возвращает пустой, я хочу добавить «Нет результатов» в раскрывающийся список. Но как именно я это делаю?Как добавить элемент «Нет результатов» в автозаполнение?

Я удалил материал, чтобы сократить/сделать код проще в этом примере:

$(element).autocomplete({ 
    source: function (request, response) { 
     $.ajax({ 
      success: function (data) { 
       response(data); 
      } 
     }); 
    }, 
    response: function(e, ui){ 
     if (ui.content.length === 0) { 
     // Could I do something here? 
     } 
    }, 
    select: function(e, ui){ 
     // Do stuff here 
     return false; 
    } 
// This is not triggered if DB returns empty 
}).data("ui-autocomplete")._renderItem = function(ul, item) { 
    return jQuery("<li></li>") 
     .data("ui-autocomplete-item", item) 
     .append("<a id='" + item.id + "'>"+ item.name + "</a>") 
     .appendTo(ul); 
} 

ответ

4

В вашем объекте ответа, добавьте следующее:

response: function(event, ui) { 
    if (!ui.content.length) { 
     var noResult = { 
      value: "", 
      label: "No results found" 
     }; 
     ui.content.push(noResult);      
    } else { 
     $("#message").empty(); 
    } 
}, 

JSFiddle

+0

СММ. .. Я думал, что попробовал это. Спасибо :) – Steven

+0

@Steven Не беспокойтесь :) – chridam

Смежные вопросы