Como verifico quantas opções existem em um menu suspenso?


110

Como faço para verificar, usando jQuery, quantas opções existem em um menu suspenso?

Obrigado.

Respostas:


201
var length = $('#mySelectList').children('option').length;

ou

var length = $('#mySelectList > option').length;

Isso pressupõe que sua <select>lista tenha um ID de mySelectList.


.children('option').length;era a única maneira de obter a opção real count / select.length depois de preencher minha lista de seleção dinamicamente por meio de ajax no .done ({}); usando .append (). Muito bem!
yardpenalty.com

para o comprimento das opções selecionadas está correto "$ ('. opção de seleção de pesquisa: selecionado'). comprimento"
Youssef Boudaya

10
$("#mydropdown option").length

Ou se você já tem uma referência a ele,

$(myDropdown).find("option").length

8

Use a propriedade length ou o método size para descobrir quantos itens estão em uma coleção jQuery. Use o seletor descendente para selecionar todos <option>os dentro de a <select>.

HTML:

<select id="myDropDown">
<option>1</option>
<option>2</option>
.
.
.
</select>

JQuery:

var numberOfOptions = $('select#myDropDown option').length

E uma observação rápida: geralmente você precisará fazer algo no jquery para uma coisa muito específica, mas primeiro você precisa ver se a coisa muito específica existe. A propriedade de comprimento é a ferramenta perfeita. exemplo:

   if($('#myDropDown option').length > 0{
      //do your stuff..
    } 

Isso 'se traduz' em "Se o item com ID = myDropDown tiver qualquer 'opção' descendente, faça o que você precisa fazer.




4

Obtenha o número de opções em um elemento selecionado específico

$("#elementid option").length

Não há nenhuma vantagem em usar ".size" sobre ".length", que é um pouco mais rápido.
Russ Bradberry



3
$('select option').length;

ou

$("select option").size()

.size()é útil se você deseja encadear
adardesign

.size () retorna um inteiro e, portanto, não pode ser encadeado. Você só pode encadear métodos que retornam objetos jQuery.
Russ Bradberry

0

Com javascript puro, você pode simplesmente chamar o comprimento no id da caixa de seleção. Vai ser mais rápido. Normalmente, com tudo que o javascript nativo tem um desempenho cada vez melhor com os navegadores modernos

Isso pode ser feito em javascript por

     var dropdownFilterSite = document.querySelector( '#dropDownId' );  //Similar to jQuery

var length = dropdownFilterSite.length.

Bom site para aprender

www.youmightnotneedjquery.com

Um bom vídeo para assistir por Todd Motto

https://www.youtube.com/watch?v=pLISnANteJY

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.