有谁知道下拉列表可以有多少选项?它是无限的吗?性能降低之前有多少?
有谁知道下拉列表可以有多少选项?它是无限的吗?
我认为它在理论上是无限的,显然不是在实践中作为计算机的RAM和特定浏览器的限制发挥作用.
性能降低之前有多少?
同样,这取决于几个因素,至少是特定的浏览器,计算机的内存和处理能力.
编辑:根据经验,我有下载列表与成千上万的选项.虽然因为谁想滚动所有这些,但这并不理想?这就是为什么某些类型的自动完成由于多种原因而更加令人满意的原因,尤其是最终用户的体验.
更新:基于DannyG,在4GB内存PC上使用Firefox测试Ubuntu,限制远远超过10k标签.我目前的Firefox设置为使用高达3GB并且已达到100k选项,但为此,您必须更改浏览器的默认配置.
我们选择使用Ajax自动完成作为替换,在所有情况下都有30多个选项.
Firefox和Chrome在Windows 64b中限制为10k选项,默认配置为4GB ram.
用JSFiddle测试 http://jsfiddle.net/Mare6/
HTML:
Testing 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的最大select
元素数至少为10000 。
您可以在以下位置找到Chrome源代码中的相关行: 定义的最大值为10000,该代码强制执行限制并在控制台中引发错误
从我的测试来看,Firefox似乎没有实际的限制。