Я использую bootstrap typeahead с вызовом ajax, чтобы создать своего рода мгновенный поиск для моего сайта. Все отлично работает, кроме того, что Typeahead появляется только для обработки названий, а не для hrefs. Пример:Twitter bootstrap Typeahead для заполнения hrefs
Мой PHP код это:
$results = mysql_query("MY SELECT QUERY GOES HERE");
$array = array();
while ($row = mysql_fetch_assoc($results)){
$array[] = $row['title'];
}
echo json_encode($array);
И мой Javascript здесь:
$('#quickSearch').typeahead({
source: function (query, process) {
$.ajax({
url: "my_php_file.php",
type: "POST",
data: 'query=' + query,
dataType: 'JSON',
async: true,
success: function(data){
console.log(data)
process(data)
}
})
}
});
... и вместе, эти результаты в этом HTML:
<ul class="typeahead dropdown-menu" display: block;">
<li data-value="Baltimore" class="active">
<a href="#"><span class="highlighter">B</span>altimore</a>
</li>
</ul>
Функция процесса - это функция, которая встроена в Bootstrap и принимает заголовок каждого результата и заполняет ее выпадающим списком. Я хотел бы иметь возможность получить href тоже из моей базы данных, а затем ссылки в выпадающем меню фактически будут работать, а не просто для шоу.
Проблема в том, что если я пишу $array[] = array("title"=>$row['title'],"href"=>$row['link']");
в своем PHP-файле, он разбивает все, так как предположительно процесс() не может обрабатывать дополнительные данные.
Есть ли у кого-нибудь предложения? Более подробная информации о машинописном можно найти здесь: http://twitter.github.com/bootstrap/javascript.html#typeahead
Благодарности
Спасибо за это, он работал очень хорошо - но в моем списке сейчас, я получаю строку в целом javascript, а не только заголовок. Есть ли способ остановить это поведение? Я использовал функцию обновления, чтобы автоматически перенаправлять браузер в href при его обновлении. – Lars
Вы должны проверить свой код. Функция, которая возвращает ярлыки списка выпадающих списков, является «highlighter» . Эта строка: return item.title.replace (новый RegExp ('+ query +') ',' ig '), – Gonzalo
Великолепно, теперь он работает. ваша помощь. – Lars