26

有谁知道下拉列表可以有多少个选项?是无限的吗?在性能下降之前有多少?

4

6 回答 6

24

有谁知道下拉列表可以有多少个选项?是无限的吗?

我想它在理论上是无限的,显然不是在实践中,因为计算机的 RAM 和特定浏览器的限制开始发挥作用。

在性能下降之前有多少?

同样,这取决于几个因素,至少是特定的浏览器、计算机的内存和处理能力。


编辑:根据经验,我有数千个选项的下拉列表。这并不理想,因为谁想滚动浏览所有这些?这就是为什么出于多种原因(尤其是最终用户的体验)更需要某种类型的自动完成。

于 2008-09-03T22:40:04.857 回答
11

更新:基于 DannyG,在 4GB mem pc 上使用 Firefox 在 Ubuntu 上进行测试,限制远远超过 10k 标签。我当前的 Firefox 设置为最多使用 3GB,并且已达到 100k 选项,但为此,我猜你必须更改浏览器的默认配置。

在给出 30 多个选项的所有情况下,我们都选择使用 Ajax 自动完成作为替代。

Firefox 和 Chrome 在 Windows 64b 中限制为 10k 选项,默认配置为 4GB 内存。

用 JSFiddle http://jsfiddle.net/Mare6/测试

for (var i=0; i<10000; i++) {
    var name = "Option "+i;
    var sel = document.getElementById("list");
    sel.options[sel.options.length] = new Option(name,i);
}
<a>Testing Select</a>
<select id="list"></select>

问候,

于 2014-03-11T16:17:59.127 回答
7

如果有帮助,我已经在列表中使用了大约 500 个,没有明显的性能影响!

于 2008-09-03T22:46:54.450 回答
7

select是的,Chrome 和 Safari 的最大值至少为 10000 个元素。

可以在此处找到 Chrome 源代码中的相关行: Defined max of 10000强制执行限制并将错误放入控制台的代码

从我的测试来看,Firefox 似乎没有实际限制。

于 2015-10-30T17:00:01.410 回答
4

根据我的经验,性能下降通常是在用户方面,我的黄金法则(在某处学到的)是七个选项,给予或接受一些。

在更与 SW 相关的基础上,可能是 Integer 的最高范围。

编辑:顺便说一句,这与阿特伍德有关

于 2008-09-03T22:48:33.040 回答
0

理论上是没有限制的,但是有些浏览器会实现限制。(类似于document.write在无限循环中使用。)

但是,归根结底,我在下拉列表中推荐的最多大约是 50 个,只是因为没有人愿意做这么多的滚动。也就是说,如果按字母顺序进行组织,则在下拉列表中包含多达 200 个项目可能是合适的。(就像您必须选择出生国家的注册表单一样。)

此外,当您有许多不同的设置选择时,下拉列表通常是最好的选择,无论如何。

于 2014-07-19T16:54:00.750 回答