jQuery UI Autocomplete JSON-gibt error: Uncaught TypeError: Cannot use 'in' - operator die Suche nach '62' in

Bin ich mit viel Mühe AutoVervollständigen arbeiten auf meiner Seite. Wenn ich 2 eingeben von Zeichen ("OW") in meiner Suche-Eingang, bekomme ich den preloader Bild (siehe unten), aber es geht nie Weg und ich habe nie die autocomplete popup. Auf der Suche, auf der Konsole in Chrome zeigt:

Uncaught TypeError: Cannot use 'in' operator to search for '62' in [{"value":103,"label":"FLOWER"},{"value":105,"label":"YELLOW"}] 

Hier ist der eigentliche string, der zurückgegeben wird (bestätigt durch hinzufügen der alert(data) in den Erfolg-block):

[{"kwrdID":103,"kwrdKeyWord":"FLOWER"},{"kwrdID":105,"kwrdKeyWord":"YELLOW"}]

Ist hier der wichtigste code für die autocomplete

$("#searchInput").autocomplete({
source: function (request, response) {
    $.ajax({
        url: '@Url.Action("GetKeywords", "Home")',
        dataType: "json",
        data: {
            SearchTerm: request.term
        },
        success: function (data) {
            response($.map(data.keywords, function (item) {
                return {
                    label: item.kwrdKeyWord,
                    value: item.kwrdID
                }
            }));
        }
    });
},
    minLength: 2
});

Und schließlich, hier ist der preloader (nur im Fall, dass es-bezogen).

$(document).ajaxStart(function () {
    var position = $('#divParent').position();
    position.left += (($('#divParent').width() / 2) - ($('#preloader').width() / 2));
    position.top += (($('#divParent').height() / 2) - ($('#preloader').height() / 2));
    $('#preloader').css(position).show();
    $('#preloader').show();
}).ajaxStop(function () {
    $('#preloader').hide();
});

Kann mir jemand helfen zu erklären, was hier Los ist?

InformationsquelleAutor ESDictor | 2013-02-19
Schreibe einen Kommentar