автозаполнение пользовательского интерфейса jQuery - нет результатов

Я пытаюсь, чтобы в выпадающем меню появлялось сообщение «Нет результатов», если результатов нет. Так, например, если я ввожу «ABCD» в текстовое поле, и не существует ни одного объекта, который соответствует, сообщение «Нет результатов». будет отображаться.

После просмотра stackoverflow для различных способов достижения этой цели и пробуя некоторые из них, я все еще не могу заставить его работать.

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

JQuery:

    $element.autocomplete({
        source: function (request, response) {            
            $.ajax({
                url: thUrl + thQS,
                type: "get",
                dataType: "json",
                cache: false,
                data: {
                    featureClass: "P",
                    style: "full",
                    maxRows: 12
                },
                success: function (data) {
                    response($.map(data, function (item) {
                        if (data.indexOf(item) === -1) {
                            return { label: "No Results." }
                        } else {
                            return {
                                label: item.Company + " (" + item.Symbol + ")",
                                value: item.Company
                            }
                        }
                    }));
                }
            });
        },
        minLength: that.options.minLength,
        select: function (event, ui) {
               reRenderGrid();
        }
    });

Я попытался добавить оператор if () со следующим, но это не сработало.

if (data.length === 0) {
    // Do logic for empty result.
}

Я могу переписать первую запись с текстом «Нет результатов», если я сделаю следующее ...

if (data.indexOf(item) === 0) {
    return { 
        label: "No Results." 
}

... но если я установлюdata.indexOf(item) === -1 ничего не появляется

Я только недавно попробовал следующее, и когда нет данных, они попадают в цикл, однако «Нет результатов» не отображается в меню:

   success: function (data) {
        response($.map(data, function (item) {
            return {
                label: item.Company + " (" + item.Symbol + ")",
                value: item.Company
            }
        }));
        if (data.length === 0) {
            label: "No Results."
        }
    }

Я также попытался использовать приведенный ниже пример от Эндрю Уитакера без удачи:

ЭНДРЮ УИТАКЕРСКАЯ СТОРОНА:http://jsfiddle.net/J5rVP/128/

ИСТОЧНИК:http://blog.andrewawhitaker.com/2012/10/08/jqueryui-autocomplete-1-9/

Ответы на вопрос(4)

Ваш ответ на вопрос