Я использую виджет автозаполнения 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);
});
},
});