Почему мой typeahead работает, когда я пишу источник полными буквами, а не когда я ассоциирую его с переменной?
Это работает с этим:
var dt = [{"name": "Coop", "link": "post.php?d=1"},{"name": "Online", "link": "post.php?d=2"},{"name": "aaa", "link": "post.php?d=211"},{"name": "test jquery", "link": "post.php?d=220"}];
var source = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: dt
});
source.initialize();
$('#custom-templates .typeahead').typeahead(null, {
displayKey: 'name',
source: source.ttAdapter(),
templates: {
empty: [
'<div class="empty-message">',
'unable to find any company that match current query',
'</div>'
].join('\n'),
suggestion: Handlebars.compile('<p><a href="{{link}}">{{name}}</a></p>')
}
});
Но не с этим:
var link = <?php echo json_encode($array);?>;
var source = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: link
});
source.initialize();
$('#custom-templates .typeahead').typeahead(null, {
displayKey: 'name',
source: source.ttAdapter(),
templates: {
empty: [
'<div class="empty-message">',
'unable to find any company that match current query',
'</div>'
].join('\n'),
suggestion: Handlebars.compile('<p><a href="{{link}}">{{name}}</a></p>')
}
});
Когда я проверяю с alert(link)
, у меня есть то же значение.