Отображать значок в результатах автозаполнения пользовательского интерфейса jQuery - PullRequest
10 голосов
/ 23 сентября 2010

Я использую плагин jQuery UI Autocomplete (версия 1.8), и я хотел бы настроить способ отображения предложений. В частности, я хочу отображать не только текст, но и значок. Однако, когда я отправляю тег image, он просто отображается как обычный текст в списке результатов.

Есть ли способ изменить это поведение? В качестве альтернативы, вы можете предложить другой способ включить изображения в возвращенные результаты и показать их в предложениях?

1 Ответ

12 голосов
/ 12 октября 2010

Взято из здесь

$("#search_input").autocomplete({source: "/search",
                                 minLength: 3,
                                 select: function (event, ui) {
                                     document.location = ui.item.url;
                                 }
})
.data("autocomplete")._renderItem = function (ul, item) {
    return $('<li class="ui-menu-item-with-icon"></li>')
        .data("item.autocomplete", item)
        .append('<a><span class="' + item.type + '-item-icon"></span>' + item.label + '</a>')
        .appendTo(ul);
};

И CSS:

.ui-menu .ui-menu-item-with-icon a {
  padding-left: 20px;

}
span.group-item-icon,
span.file-item-icon {
  display: inline-block;
  height: 16px;
  width: 16px;
  margin-left: -16px;
}
span.group-item-icon {
  background: url("/image/icons/group.png") no-repeat left 4px;
}
span.product-item-icon {
  background: url("/image/icons/product.png") no-repeat left 7px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...