本地json对象在Typeahead Bloodhound中不起作用

时间:2015-03-11 20:18:18

标签: json wordpress typeahead.js bloodhound

我在表单字段中使用Typeahead Bootstrap(使用WP框架)。

我的根目录中存储了一个.json文件,我可以使用prefetch抓取它:

prefetch: {
  url: '
    ../json/test.json',
    ttl: 1
}

菜单工作正常。现在,让我们说我不想使用预取,但是在本地json数组中加载数据。

我有相同的json文件:

[{"title":"Title 1","content":"Loopty loos"},{"title":"Title 2","content":"Diddly Bones"}]

如果我将它直接加载到新的Bloodhound类中:

local:  [{"title":"Title 1","content":"Loopty loos"},{"title":"Title 2","content":"Diddly Bones"}]

再一次,就像一个魅力。但是,如果我尝试将相同的数据作为变量加载,而不是明确写入:

jsonObject = [{" title":" Title 1"," content":" Loopty loos"},{&#34标题":"标题2","内容":" Diddly Bones"}]

 var content = new Bloodhound({
   datumTokenizer: function (d) { 
     return Bloodhound.tokenizers.whitespace(d.content);
   },
   local: jsonObject
   ...

它不起作用。这似乎很简单,而我完全错过了它。

完全澄清,我正在查询wp数据库,并使用该结果集创建json文件并将其写入测试目录,然后使用wp_localize_script将其传递给.js文件。

1 个答案:

答案 0 :(得分:2)

声明Bloodhound对象后,尝试初始化对象。

GL_LINES

content.initialize();