Я пытаюсь создать поиск Typeahead с помощью Twitter Bootstrap 2.2.1. Мне удалось работать с JSON, а не с такими строками:
$('#search').typeahead({
minLength: 3,
source: function (query, process) {
$.post('@Url.Action(<MySearchAction>, <MyControllerName>)', { Text: query }, function (data) {
var source = [];
$.each(data, function (index, value) {
source.push(JSON.stringify(value));
});
process(source);
});
},
updater: function (item) {
var itemJSON = JSON.parse(item);
window.location.href = '@Url.Action(<MyDetailsAction>, <MyControllerName>)/' + itemJSON.ID;
},
highlighter: function (item) {
var itemJSON = JSON.parse(item);
return itemJSON.Name;
},
});
Теперь я хочу большего
- Это правильный способ работы с JSON в typeahead?
- Я хочу показать различные типы объектов в раскрывающемся списке - предположим, у меня есть типы песен и альбомов, я хочу показать все найденные песни, затем разделитель, а затем все найденные альбомы.
- Я хочу показывать изображения в раскрывающемся списке - например, обложки альбомов.
Я читал тему здесь Разрешить загрузку изображений и пользовательского HTML в результатах ввода.
Цитата из этой темы: "Используя комбинацию пункта и пунктов меню, вы можете указать новые шаблоны", но я до сих пор не понимаю, как это сделать правильно.
Спасибо.