Pergunta

Alguém sabe quantas opções uma lista suspensa pode ter?É ilimitado?Quantos antes que o desempenho diminua?

Foi útil?

Solução

Alguém sabe quantas opções uma lista suspensa pode ter?É ilimitado?

Imagino que seja ilimitado em teoria, obviamente não na prática, já que a RAM do computador e as limitações específicas do navegador entram em jogo.

Quantos antes que o desempenho diminua?

Novamente, isso dependeria de alguns fatores, pelo menos do navegador específico, da memória do computador e do poder de processamento.


EDITAR:Por experiência própria, tive listas suspensas com milhares de opções.Não foi o ideal, porque quem quer percorrer tudo isso?É por isso que algum tipo de preenchimento automático é mais desejável por vários motivos, especialmente a experiência do usuário final.

Outras dicas

Atualizar:Baseado em DannyG, testado no Ubuntu com Firefox em um mem pc de 4GB, o limite estava muito além de 10k tags.Meu Firefox atual está configurado para usar até 3 GB e atingiu 100 mil opções, mas para isso, você teria que alterar a configuração padrão do navegador, eu acho.

Optamos por usar um preenchimento automático Ajax como substituto em todos os casos em que mais de 30 opções foram fornecidas.

Tanto o Firefox quanto o Chrome estão limitados a 10k opções no Windows 64b com 4 GB de RAM na configuração padrão.

Testado com JSFiddlehttp://jsfiddle.net/Mare6/

HTML:

<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);
    }
});

Cumprimentos,

Usei cerca de 500 em uma lista sem nenhum impacto perceptível no desempenho, se isso ajudar!

Na minha experiência, a degradação do desempenho geralmente está do lado do usuário, minha regra de ouro (aprendi em algum lugar) são sete opções, mais ou menos algumas.

Em uma base mais relacionada ao SW, provavelmente a faixa superior de Inteiro.

EDITAR:Aliás, isso é meio relevante de Atwood

Sim, o máximo para Chrome e Safari é de 10.000 itens para select elementos pelo menos.

As linhas relevantes na fonte do Chrome podem ser encontradas aqui:Máximo definido de 10.000, Código que impõe limite e coloca erro no console

O Firefox parece não ter limite prático em meus testes.

Em teoria, não há limite, mas alguns navegadores implementarão limites.(Semelhante a usar document.write em um loop infinito.)

Mas, no final das contas, o máximo que eu recomendaria em uma lista suspensa é cerca de 50, só porque ninguém quer rolar tanto.Dito isto, se organizado, por exemplo, por ordem alfabética, pode ser apropriado ter até 200 itens numa lista pendente.(Como para um formulário de inscrição onde você deve selecionar seu país de nascimento.)

Além disso, quando você tem muitas opções de conjunto diferentes, uma lista suspensa normalmente é a melhor opção, de qualquer maneira.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top