jQueryUI - Autocomplete wird nicht mit json angezeigt

Ich versuche, eine Autovervollständigung mit einer JSP-Datei durchzuführen, aber das Dropdown wird nicht angezeigt.

var cod = document.getElementById('item').value;

$('input#item').autocomplete({
    source: function( request, response ) {
        $.ajax({
          url: "autocomplete.jsp?cod="+cod,
          dataType: "json",
          minLength: 2,
          data: {
            maxRows: 12
          },
          success: function(data) {
              alert(data);
              response(data);
          }
        });
      }
});

Ich habe in Chrome auf "Netzwerke" geschaut und es ruft die URL mit dem Parameter auf und gibt OK zurück, aber das Dropdown wird nicht angezeigt. PS .: der Alarmdialog von 'alert (data)' wird ebenfalls nicht angezeigt.

0
es bedeutet, dass es ein Problem in dem Anruf gibt, den Sie machen .. Fehler beim Einfügen: Blockieren und sehen, ob Sie einen Fehler bekommen
hinzugefügt der Autor Gautam, Quelle

1 Antworten

Sie arbeiten zu hart - machen einige Dinge, die Sie nicht brauchen. Und einige der Parameter, die für die Autocomplete-Funktion vorgesehen sind, werden stattdessen an die Ajax-Funktion übergeben - beispielsweise minLength. Lassen Sie uns diesen Aufruf wie folgt umstrukturieren:

$(window).load(function() {
    $('input#item').autocomplete({
        source: 'autocomplete.jsp?maxRows=12',
        minLength: 2,
        select: function (event, ui) {
            alert(ui.item.value + ' ' + ui.item.label);
        },
    });
});

In Ihrem JSP erhalten Sie anstelle von "cod" einen Parameter namens "term". Dies ist das automatische Verhalten des Autocomplete-Widgets.

Ihr JSP muss ein JSON-Array zurückgeben. Jedes Element dieses Arrays ist auch ein Array mit zwei Mitgliedern, einem "Wert" und einem "Label".

0
hinzugefügt
immer noch nicht funktioniert ... Ich habe einen Fehler: alert ('Fehler') und es erscheint jedes Mal, wenn ich etwas in das Eingabefeld eingeben. Mein Eingabefeld html: <div class = "ui-widget"> </div>
hinzugefügt der Autor lucasdc, Quelle
Dein Code hat funktioniert. Ich habe meinen Code angeschaut und es gab einige Syntaxfehler. Vielen Dank.
hinzugefügt der Autor lucasdc, Quelle
Wo hast du diese Warnung platziert ("Fehler")?
hinzugefügt der Autor mcarson, Quelle
JavaScript - Deutsche Gemeinschaft
JavaScript - Deutsche Gemeinschaft
3 der Teilnehmer

In dieser Gruppe sprechen wir über JavaScript.