Typeahead Bloodhound, показывающий результаты как неопределенные. Неправильный тип JSON?

Я использую Typeahead, чтобы создать текстовое поле для автозаполнения поиска, и результаты выпадающего списка отображаются как неопределенные.
По-видимому, PHP создает JSON, я его протестировал. Проблема может быть в неправильном типе JSON.
Вот PHP:

$a_json = array();
$a_json_row = array();

while ($row = mysql_fetch_assoc($sql)) {

//Replaces spaces for +
$searchTerm = preg_replace('/\s/', '+', $row['products_keyword']);

$a_json_row["search"] = $searchTerm;
$a_json_row["label"] = $row['products_keyword'];
array_push($a_json, $a_json_row);
}

echo json_encode ($a_json); //Return the JSON Array

А вот и скрипт:

$(document).ready(function() {
var keywordsVar = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('label'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: 'keywords.php?query=%QUERY'

});

keywordsVar.initialize();
$('#idkeywords').typeahead({
hint: false,
highlight: true,
minLenght: 2
}, {
name: 'keywords',
displaykey: 'label',
source: keywordsVar.ttAdapter()
});
});

Вот пример JSON:

[{"search":"Artichokes","label":"Artichokes"},
{"search":"Artichokes+2","label":"Artichokes 2"},
{"search":"Artichokes+3","label":"Artichokes 3"}]

Кто-нибудь может определить проблему ??

0

Решение

У вас есть опечатка в объявлении typeahead. Так должно быть displayKey с заглавной буквы к.

Вот Ссылка

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]