2

我正在尝试将新数据推送到一个名为 filter.js 的 jQuery 函数中(https://github.com/jiren/filter.js

问题是我无法弄清楚 addData 的数组应该是什么样子。

这是脚本的演示:http: //jiren.github.io/filter.js/stream.html

这是它从一开始就获取的 JSON:/examples/data/top_movies_data.json

关于此功能的唯一文档说:

向现有过滤器添加更多数据

如果您使用 ajax 流式传输 json 数据,那么您可以添加这样的数据

fJS.addData(数据)

这里 fJS 是 Filter.js 对象,数据是 json 记录。

我正在尝试使用此代码制作一个新框,它会回显“添加”,但没有添加任何框,也没有打印“添加”

<button id="add">ADD</button>
<script>
$("#add").click(function() {
    alert("add");
    var myNewBox = '[{"name":"Woho","outline":"Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.","rating":"9.3","director":"Frank Darabont","year":"1994","stars":["Tim Robbins","Morgan Freeman","Bob Gunton"],"runtime":"142","genre":["Crime","Drama"],"certificate":"R"}]';
    fJS.addData(myNewBox);
    alert("added");
});
</script>

控制台给了我这个错误:ReferenceError: fJS is not defined

如果有人可以帮助我如何更改我的功能以添加数据,我会很高兴。

提前非常感谢!

4

1 回答 1

0

可能的冲突: 当 usinf 3rd 方插件以某种方式$不在其本机 jQuery 状态时。所以为了确保我在它的原生 jQuery 中使用它,它必须被传递给函数,就像这样......

jQuery(function ($) {...});

这样做是在告诉 jQuery 在该函数中实例化和重新分配。

然后下一步是将您的代码放入其中...

jQuery(function ($) {   
   $("#add").click(function() {
        alert("add");
        var myNewBox = '[{"name......]';
        fJS.addData(myNewBox);
        alert("added");
    });
});

另外,我建议您切换myNewBox放置的addData位置和addData放置的位置myNewBox,这更有意义,因为您希望自己推动成为addData,就像这样...

var addData= '[{"name......]';
    fJS.addData(myNewBox);
于 2013-08-14T14:57:50.117 回答