Automatische Vervollständigung der jQuery-Benutzeroberfläche - keine Ergebnismeldung

Ich versuche, im Dropdown-Menü die Meldung "Keine Ergebnisse" anzuzeigen, wenn keine Ergebnisse vorliegen. Wenn ich zum Beispiel "ABCD" in das Textfeld eingebe und es keine Entität gibt, die übereinstimmt, wird die Meldung "No Results" (Keine Ergebnisse) angezeigt. wird Angezeigt werden.

Nachdem ich in stackoverflow nach den verschiedenen Möglichkeiten gesucht und einige davon ausprobiert habe, kann ich es immer noch nicht zum Laufen bringen.

Wie kann ich dem Dropdown-Menü eine Meldung "Keine Ergebnisse" hinzufügen, wenn keine Ergebnisse gefunden wurden?

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();
        }
    });

Ich habe versucht, eine if () - Anweisung mit der folgenden hinzuzufügen, aber das hat nicht funktioniert.

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

Ich kann den ersten Eintrag mit dem Text "No Result" überschreiben, wenn ich Folgendes mache ...

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

... aber wenn ich setzedata.indexOf(item) === -1 nichts taucht auf.

Ich habe erst kürzlich Folgendes versucht und wenn keine Daten vorhanden sind, werden diese in die Schleife eingegeben. Im Menü wird jedoch nicht "Keine Ergebnisse" angezeigt:

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

Ich habe auch versucht, das folgende Beispiel von Andrew Whitaker ohne Glück zu verwenden:

ANDREW WHITACKER'S FIDDLE:http://jsfiddle.net/J5rVP/128/

QUELLE:http://blog.andrewawhitaker.com/2012/10/08/jqueryui-autocomplete-1-9/

Antworten auf die Frage(4)

Ihre Antwort auf die Frage