jqueryUi AutoVervollständigen - benutzerdefinierte Daten und display

Meine vollständige code ist hier: http://jsfiddle.net/HfNk9/13/

Ich bin auf der Suche zu diesem Beispiel jqueryUi AutoVervollständigen - benutzerdefinierte Daten und display.

Nehmen wir an, das Objekt der Projekte ist unterschiedlich, und es sieht wie folgt aus:

project = [
    {
        name: 'bar',
        value: 'foo',
        imgage: 'img.png'
    }
]

Wenn ich source = project die AutoVervollständigen-bezieht sich auf project.value und nicht project.name.

Wie soll ich dieses Verhalten ändern?


var autocomplete = function(element, data) {
    var fixtures = [
        {
        avatar: "http://www.placekitten.com/20/20",
        name: 'aaaaaaaaa',
        value: 'bbbbbbbbb'}
    ];

    element.autocomplete({
        minLength: 3,
        source: function(request, response) {
            var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
            response($.grep(fixtures, function(value) {
                return matcher.test(value.name);
            }));
        },
        create: function() {
            console.log(fixtures)
            element.val(fixtures.name);
        },
        focus: function(event, ui) {
            element.val(ui.item.name);
            return false;
        },
        select: function(event, ui) {
            element.val(ui.item.name);
            return false;
        }
    }).data('autocomplete')._renderItem = function(ul, item) {
        return $('<li></li>')
            .data('item.autocomplete', item)
            .append('<a><img src="' + item.avatar + '" />' + item.name + '<br></a>')
            .appendTo(ul);
    };
};

autocomplete($('#auto'));

Mein vollständiger code: http://jsfiddle.net/HfNk9/13/

Schreibe einen Kommentar