【发布时间】:2012-09-04 12:32:35
【问题描述】:
我正在尝试寻找一种能够处理大量数据(约 10,000 行)并创建一个组合框/下拉列表的方法或插件,该组合框/下拉列表可以通过键入进行过滤,或者能够滚动浏览一次所有记录。
我尝试过查看不同的插件以及编写自己的插件。有很多很棒的选项,但是一旦数据集变大,其中许多选项的性能会迅速下降。
我一直在玩chosen。但是,我担心的是当有 10,000 条记录时的搜索性能会导致输入延迟,并且如果您尝试输入速度过快可能会锁定浏览器。还检查了选择的 github 页面,它似乎最近没有太大的发展。
浏览器要求是 IE 7+(IE 确实是最大的问题,因为 javascript 性能不佳)和 FF(Chrome 和 Safari 是额外的)。
这是一个 jsfiddle,它在某种程度上模仿了将在我的案例中使用的数据类型。我还添加了所选插件,以便您查看它的性能。
【问题讨论】:
-
不是答案,但也许您需要重新考虑您的 UI。用户真的想要/需要查看 10K 项吗?你能把物品分成几组吗?然后当用户选择一个组时,使用 AJAX 填充第二个框。只是一个想法。
-
查看我对 KuH 回答的评论。对于这个特定的用例,它并没有很好地分解成组,因此需要过滤选项。我完全赞成通过不同的方式找到解决方案。
-
那么你可能会使用分页。用前 100 个左右填充列表。添加一个“下一页”按钮,单击该按钮时使用 Ajax 获取下一个 100 等。
标签: jquery html jquery-plugins jquery-chosen large-data