【发布时间】:2014-01-29 11:03:48
【问题描述】:
我正在使用 typeahead.js 0.9.3,它运行良好。我的问题是是否可以在“typeahead:selected”事件(或任何事件,就此而言)从数据集中删除数据。
我在页面加载时使用 Typeahead 的 prefetch 选项获取数据集中的数据。我知道我可以调用$('selector').typeahead('destroy') 并重新初始化打字头并在prefetch 对象中使用filter,但是不得不重新调用数据似乎相当重要(我们没有将数据缓存在本地存储)。
我想我正在寻找类似于 filter 函数的东西来遍历数据数组并删除先前选择的(或所有选择的)数据。看起来在 typeahead 中没有公共函数可以执行此操作,但也许我错过了。
我已通读 typeahead 的文档并在此处搜索,但没有找到答案。
编辑:我通过从prefetch 切换到local 并使用AJAX post 调用来获取数据,将其设置为全局变量,然后将其传递给typeahead,从而解决了当前的问题。可以从全局数据数组中添加/删除项目,然后根据需要销毁/重新初始化 typeahead。远非理想,但它确实有效。
【问题讨论】:
-
为什么不在将数据传递到预输入之前过滤数据?
-
因为没有机制可以“重新过滤”它而不调用
.typeahead('destroy')并使用另一个prefetch调用重新初始化typeahead。我不想在typeahead:selected事件之后再去POST。
标签: javascript typeahead.js twitter-typeahead