2011-04-22 5 views
1

jQuery를 사용하여 선택된 옵션 태그의 수를 100 개로 제한하려고합니다. 무엇을 잘못하고 있습니까? select 태그는 다음과 같습니다 : 사용자가 하나 개 이상의 옵션 태그를 선택jQuery와 javascript의 select 태그에서 선택한 옵션 태그의 수를 어떻게 제한합니까?

 
<select name="order"> 
<option value="1" selected>Order Name</option> ... 

후 ... 아직 이벤트 핸들러가 작동하는 방법을 확인하십시오.

 
var countSelectedOptionTags 
$("select[name='order']").change(function() { 
    $("select[name='order']").children('attr="selected"').each(function() { 
    countSelectedOptionTags++; 
    }); 
    if countSelectedOptionTags > 100 
    { 
    alert("You can not select more than 100 option tag."); 
    return; 

    } //I need the option tags that have the selected attribute 

+0

보다 인덱스 큰 것인가? – RetroCoder

답변

2

이 시도 :

$("select[name='order'] option:selected") 

당신에게 선택된 모든 옵션을 제공 할 것입니다.

$("select[name='order'] option:selected:gt(99)"); 

은 선택 옵션을 제공하고 JQuery와-1.3.2.min.js에서 작동합니까 (100)

var countSelectedOptionTags = 0; 
$("select[name='order']").change(function() { 
    var selectedOptions = $("select[name='order'] option:selected"); 
    countSelectedOptionTags = selectedOptions.length; 
    if countSelectedOptionTags > 100 
    { 
    alert("You can not select more than 100 option tag."); 
    return; 
    } 
    . 
    . 
    . 
}); 
+0

그래도 효과가 있지만 마지막 속성 100 개를 제외한 모든 항목을 제거해야합니다. Sheesh – RetroCoder

+0

@Marc : 게시물을 업데이트하여 100보다 큰 옵션을 선택했습니다. Pls check. – Chandu

+0

@Marc : 또한 100 개가 넘는 요소를 가진 select 요소는 내 생각에 사용자 친화적 인 구성 요소가 아닙니다. – Chandu

관련 문제