jQuery UI autocomplete: add a css class to specific items

Я использую виджет автозаполнения Jquery UI и получаю элементы для отображения через обратный вызов, как описано в ссылке.

У меня есть пример, когда мне нужно представить некоторые элементы, которые я получаю с сервера, немного иначе, чем другие, чтобы пользователь понял, что между этими элементами есть разница. В моем случае некоторые элементы являются "личными", а некоторые - "глобальными".

Я бы хотел, чтобы "личные" элементы выделялись, добавив к ним CSS-класс, чтобы у них был немного другой фон.

Возможно ли это? Я видел в справочной документации, что существует аддон, который позволяет мне помещать произвольный HTML в "элементы", но я чувствую, что это неоптимально, когда все, что мне действительно нужно сделать, это добавить класс (в некоторых случаях).

Я думаю, что в итоге у меня получится что-то вроде этого:

$("#myElement").autocomplete({
            //define callback to format results
            source: function(req, add){
                //pass request to server
                var baseUrl = '/getItems.php'
                $.getJSON(baseUrl, req, function(data) {

                    //create array for response objects
                    var suggestions = [];

                    //process response
                    $.each(data, function(i, val){
                        var entry = new Object();
                        if (val.personal == true){
                        // add some css class somehow?
                        }
                        entry.id = val.id;
                        suggestions.push(entry);
                    });

                    //pass array to callback
                    add(suggestions);
                });
            },

        });
13
задан Andrew Whitaker 17 May 2012 в 18:19
поделиться