jQuery에서 select 태그의 옵션 태그 수 계산


159

어떻게의 수를 세는 <option>A의의 <select>jQuery를 사용하여 DOM 요소를?

<select data-attr="dropdown" id="input1">
  <option value="Male" id="Male">Male</option>
  <option value="Female" id="Female">Female</option>
</select>

DOM 요소 <option>에서 태그 수를 찾고 <select>싶습니다. 그러면 드롭 다운 상자의 해당 옵션 값이있는 입력 필드 수로 설정 패널을 열고 미리보기에서 다시 변경하고 싶기 때문에 패널.

위의 드롭 다운 상자는 jQuery에 의해 생성 된 미리보기 패널에 있습니다.

답변:



51

W3C 솔루션 :

var len = document.getElementById("input1").length;

5
최신 자바 스크립트를 사용하여이 방법을 변형 한 내용은 다음과 같습니다. var len = document.querySelector("#input1").length;
Jacob Nelson

22

길이 속성을 사용할 수 있으며 length성능이 더 좋습니다 size.

$('#input1 option').length;

또는 당신은 같은 크기 기능을 사용할 수 있습니다

$('#input1 option').size(); 

데모


2
이것은 2009 년의 답변도 제공하지 않은 내용을 제공하지 않습니다.
TylerH

18

귀하의 질문은 약간 혼란 스럽지만 패널에 옵션 수를 표시한다고 가정합니다.

<div id="preview"></div>

$(function() {
  $("#preview").text($("#input1 option").length + " items");
});

나머지 질문에 대해서는 잘 모르겠습니다.


14

다중 선택 옵션 상자에서 선택한 옵션 수 $('#input1 :selected').length;를 얻는 데 사용할 수 있습니다. 특정 최소 개수의 옵션이 충족되지 않은 경우 버튼을 비활성화하는 데 유용 할 수 있습니다.

function refreshButtons () {
    if ($('#input :selected').length == 0)
    {
        $('#submit').attr ('disabled', 'disabled');
    }
    else
    {
        $('#submit').removeAttr ('disabled');
    }
}

$('#input1 :selected').length; 설명서 api.jquery.com/length를
Leonard Kakande

6

좋아, 나는 안에 있었기 때문에 몇 가지 문제가 있었다

$('.my-dropdown').live('click', function(){  
});

내 페이지 안에 여러 클래스가 있었기 때문에 클래스를 사용했습니다.

내 드롭 다운은 클릭 할 때 아약스 요청에 의해 자동으로 채워 지므로 $ (this) 요소 만 있습니다.

그래서...

나는해야했다 :

$('.my-dropdown').live('click', function(){
  total_tems = $(this).find('option').length;
});

6

가장 좋은 형태는 이것입니다

$('#example option').length

이 코드 전용 (저가) 솔루션은 4 년 전 Sadikhasan에서 제공했습니다. 사용은 lengthKarim79가 9 년 전에 게시했습니다. 이 답변은 완전히 중복되므로 페이지에서 안전하게 제거 할 수 있습니다.
mickmackusa 2016 년

-1

유용 할 수있는 또 다른 접근법.

$('#select-id').find('option').length

1
질문은 선택된 <option> s 의 개수를 묻지 않습니다 .
user4642212 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.