twitter bootstrap typeahead 2.0.4 ajax Fehler

Ich habe den folgenden code, die auf jeden Fall gibt ein richtigen Daten führen, wenn ich die 2.0.0 version, aber für einige Grund bootstrap ist typeahead-plugin gibt mir einen Fehler aus. Ich klebte es unter dem code-Beispiel:

<input id="test" type="text" />

$('#test').typeahead({
    source: function(typeahead, query) {
        return $.post('/Profile/searchFor', { query: query }, function(data) {                
            return typeahead.process(data);
        });
    }
});

Wenn ich dieses Beispiel, ich bin immer ein jQuery bug, der sagt Folgendes:

**
item is undefined
matcher(item=undefined)bootst...head.js (line 104)
<br/>(?)(item=undefined)bootst...head.js (line 91)
<br/>f(a=function(), b=function(), c=false)jquery....min.js (line 2)
<br/>lookup(event=undefined)bootst...head.js (line 90)
<br/>keyup(e=Object { originalEvent=Event keyup, type="keyup", timeStamp=145718131, more...})bootst...head.js (line 198)
<br/>f()jquery....min.js (line 2)
<br/>add(c=Object { originalEvent=Event keyup, type="keyup", timeStamp=145718131, <br/>more...})jquery....min.js (line 3)
<br/>add(a=keyup charCode=0, keyCode=70)jquery....min.js (line 3)
<br/>[Break On This Error]  
<br/>return item.toLowerCase().indexOf(this.query.toLowerCase())**

Irgendwelche Gedanken? ... Der gleiche code funktioniert in der 2.0.0 version des plugins, kann Sie aber nicht schreiben, um meine knockout-Objekt-Modell.

DAS TYPEAHEAD-CODE FÜR die 2.0.0 version:

var searchFunction = function(typeahead, query) {
        $.ajax({
            url: "/Profile/searchFor?tableName=" + tableName + "&query=" + query + "&extendedData=" + $("#" + extendedData).val(),
            success: function(data) {
                if (data.errorText != null) {
                    toggleLoading("false");
                    showDialog(data.errorText, "Error");
                    return;
                }                
                var result = data.results.split("::");
                typeahead.process(result);
            },
            select: function(event, ui) {
            }
        });
    }

    $("#" + inputBoxId).typeahead({
        source: searchFunction,
        onselect: function(obj) {
        }
    });
  • und was ist die vollständige Fehlermeldung bitte
  • Hinzugefügt mehr info im original-post.
  • In der Bootstrap typeahead source muss ein array sein. twitter.github.com/bootstrap/javascript.html#typeahead
  • Es gibt auch keine Möglichkeit, dass dies in 2.0.0: github.com/twitter/bootstrap/blob/... Es gibt nur eine Stelle im code, wo source verwendet wird, als argument für $.grep.
  • In jedem Szenario, ich bin nicht in der Lage, um die AJAX-Aufruf, arbeiten für die 2.0.4 version der typeahead, auch wenn ich die Kraft wieder in die Ergebnisse der ajax-Aufruf als array. Wie es aussieht ist es gar nicht immer um den ajax-call.
  • bootstrap typeahead funktioniert nur mit einem schlichten und einfachen array-dargestellt durch die Dokumentation und den source code... man muss die jQuery-UI-autocomplete oder etwas anderes.
  • Eigentlich vorher habe ich es mit einer remote-Datenquelle, aber für einige Grund wenn ich die input-box, um die Seite dynamisch, es funktioniert nicht richtig. Es ist sehr merkwürdig.
  • Der code auf der Unterseite der original-Beitrag macht ein entfernen typeahead Anruf mit version 2.0.0 der typeahead-plugin.
  • Das ist nicht der bootstrap typeahead, es nicht an die source als eine Funktion und es muss nicht einmal eine .process Methode. Können Sie einen link auf die website mit diesem? Oder machen Sie einen jsfiddle?

InformationsquelleAutor Adam Levitt | 2012-06-24
Schreibe einen Kommentar