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.