Jak sprawdzić, ile opcji jest w menu rozwijanym?

110

Jak sprawdzić, używając jQuery, ile opcji jest w rozwijanym menu?

Dzięki.

Asim Zaidi
źródło

Odpowiedzi:

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

lub

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

Zakłada się, że Twoja <select>lista ma identyfikator mySelectList.

user113716
źródło
.children('option').length;był jedynym sposobem, w jaki mogłem uzyskać rzeczywistą liczbę opcji / select.length po tym, jak dynamicznie zapełniłem moją listę wyboru za pomocą ajax w pliku .done ({}); używając .append (). Tak trzymać!
yardpenalty.com
dla długości wybranych opcji jest to poprawne "$ ('. szukaj-wybierz opcję: wybrane'). długość"
Youssef Boudaya
10
$("#mydropdown option").length

Lub jeśli masz już do niego odniesienie,

$(myDropdown).find("option").length
Matti Virkkunen
źródło
8

Użyj właściwości length lub metody size, aby dowiedzieć się, ile elementów znajduje się w kolekcji jQuery. Użyj selektora potomków, aby wybrać wszystkie elementy <option>w pliku <select>.

HTML:

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

JQuery:

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

I krótka uwaga: często będziesz musiał zrobić coś w jQuery dla bardzo konkretnej rzeczy, ale najpierw musisz sprawdzić, czy ta bardzo konkretna rzecz istnieje. Właściwość length jest doskonałym narzędziem. przykład:

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

To „tłumaczy się” na „Jeśli element o ID = myDropDown ma jakąkolwiek opcję podrzędną, zrób to, co musisz zrobić.

Adam
źródło
5

Kliknij tutaj, aby zobaczyć poprzedni post na ten temat

Zasadniczo po prostu skieruj na identyfikator wybranego elementu i wykonaj następujące czynności:

var numberOfOptions = $('#selectId option').length;
Munzilla
źródło
zobacz mój komentarz do @Shaji
Russ Bradberry
4
$('#idofdropdown option').length;

Że należy to zrobić.

Rob Stevenson-Leggett
źródło
4

Uzyskaj liczbę opcji w określonym elemencie wyboru

$("#elementid option").length
Sharjeel Aziz
źródło
Nie ma żadnej korzyści z używania „.size” ponad „.length”, co jest nieco szybsze.
Russ Bradberry
3
alert($('#select_id option').length);
fantactuka
źródło
3
$('#dropdown_id').find('option').length
druga
źródło
3
$('select option').length;

lub

$("select option").size()
nicholasklick
źródło
.size()przydaje się, jeśli chcesz
łączyć
.size () zwraca i liczbę całkowitą, a zatem nie można go łączyć w łańcuch. Można łączyć tylko metody, które zwracają obiekty jQuery.
Russ Bradberry
0

Za pomocą czystego javascript możesz po prostu wywołać długość w identyfikatorze pola wyboru. Będzie szybciej. Zazwyczaj natywny javascript działa coraz lepiej w nowoczesnych przeglądarkach

Można to osiągnąć w javascript przez

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

var length = dropdownFilterSite.length.

Dobra strona internetowa do nauki

www.youmightnotneedjquery.com

Dobry film do obejrzenia autorstwa Todda Motto

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

Vatsal
źródło