4

我正在尝试找到一种方法或插件,它能够处理大量数据(约 10,000 行)并创建一个组合框/下拉列表,可以通过键入进行过滤,或者能够滚动浏览所有记录一次。

我尝试过查看不同的插件以及编写自己的插件。那里有很多很棒的选项,但是一旦数据集变大,其中许多选项的性能就会迅速下降。

我一直在玩selected。然而,我担心的是当有 10,000 条记录时的搜索性能会导致输入延迟,并且如果您尝试输入速度过快可能会锁定浏览器。还检查了 selected 的 github 页面,它似乎最近没有太大的发展。

浏览器要求是 IE 7+(由于 javascript 性能不佳,IE 确实是最大的问题)和 FF(Chrome 和 Safari 是奖励)。

这是一个jsfiddle,它在某种程度上模仿了将在我的案例中使用的数据类型。我还添加了所选插件,以便您查看它的执行情况。

4

2 回答 2

2

您可能希望将Datatables视为替代方案。它真的很漂亮 - 你可以有一个很好的表格布局(你指的是“行”,所以我假设它是表格数据而不是单列)并且过滤是“智能/原子” - 例如,如果你输入“红色汽车” " 进入搜索框,它会给你所有包含红色和汽车的行,但不一定在一起。

它也有各种插件——包括一个使用滑块的分页器,对于大页数很有用。我已经用 2,000 多条记录运行它,只要您的 PC 有足够的 RAM,它就非常快。它支持通过 AJAX 进行动态分页作为替代方案。

它也实现了“无限滚动”,有几个参数更改和一个或两个 AJAX 调用。

于 2013-01-11T03:28:19.617 回答
1

您确定将如此大量的数据加载到客户端并在那里处理是个好主意吗?像大多数开发人员通常做的那样——在服务器上,通过 ajax 处理输入并只加载需要的数据,这样做不是更好吗?

现在的 JS 更快,但没那么快。

于 2012-09-11T14:34:19.873 回答