Как мне проверить, сколько вариантов есть в раскрывающемся меню?

110

Как с помощью jQuery проверить, сколько параметров есть в раскрывающемся меню?

Спасибо.

Асим Заиди
источник

Ответы:

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

или

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

Предполагается, что ваш <select>список имеет идентификатор mySelectList.

user113716
источник
.children('option').length;был единственным способом получить фактическую опцию count / select.length после динамического заполнения моего списка выбора через ajax в .done ({}); используя .append (). Вперед!
yardpenalty.com
для длины выбранных опций это правильный "$ ('. search-select option: selected'). length"
Юсеф Будая,
10
$("#mydropdown option").length

Или, если у вас уже есть ссылка на него,

$(myDropdown).find("option").length
Матти Вирккунен
источник
8

Используйте свойство length или метод size, чтобы узнать, сколько элементов находится в коллекции jQuery. Используйте селектор потомков, чтобы выбрать все <option>в<select> .

HTML:

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

JQuery:

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

И небольшое примечание: часто вам нужно будет сделать что-то в jquery для очень конкретной вещи, но сначала вам нужно увидеть, существует ли такая очень конкретная вещь. Свойство длины - идеальный инструмент. пример:

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

Это «переводится» как «Если элемент с ID = myDropDown имеет какие-либо дочерние опции», делайте то, что вам нужно.

Адам
источник
4
$('#idofdropdown option').length;

Это должно сработать.

Роб Стивенсон-Леггетт
источник
4

Получить количество вариантов в конкретном элементе выбора

$("#elementid option").length
Шарджил Азиз
источник
Нет никаких преимуществ в использовании ".size" над ".length", которое выполняется немного быстрее.
Russ Bradberry
3
$('select option').length;

или

$("select option").size()
николасклик
источник
.size()полезно, если вы хотите использовать цепочку
adardesign
.size () возвращает целое число и, следовательно, не может быть цепочкой. Вы можете связывать только методы, возвращающие объекты jQuery.
Russ Bradberry
0

С чистым javascript вы можете просто вызвать длину по идентификатору поля выбора. Так будет быстрее. Обычно со всем, что родной javascript работает все лучше и лучше с современными браузерами.

Это может быть достигнуто в javascript с помощью

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

var length = dropdownFilterSite.length.

Хороший сайт для обучения

www.youmightnotneedjquery.com

Хорошее видео Тодда Мотто для просмотра

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

Ватсал
источник