Typeahead работает с исходными текстами, написанными полными буквами, но не тогда, когда они связаны с переменной - PullRequest
0 голосов
/ 21 января 2019

Почему мой 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), у меня есть то же значение.

...