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

有帮助吗?

解决方案

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

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

在性能下降之前有多少?

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


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

其他提示

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

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

Firefox 和 Chrome 在默认配置下具有 4GB RAM 的 Windows 64b 中都限制为 10k 选项。

使用 JSFiddle 进行测试http://jsfiddle.net/Mare6/

网页:

<a>Testing Select</a>
<select id="list"></select>

JavaScript

window.onLoad = function() {
    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);
    }
});

问候,

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

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

在更多与软件相关的基础上,可能是整数的最高范围。

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

是的,Chrome 和 Safari 的最大数量为 10000 个项目 select 至少元素。

Chrome 源代码中的相关行可以在这里找到:定义的最大值为 10000, 强制执行限制并将错误放入控制台的代码

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top