2012-09-10 3 views
0

옵션이 아닌 모든 선택의 현재 값을 반복하는 방법은 무엇입니까? 이것의JQuery가 현재 SELECT 값을 반복합니다.

내가 시도 변동 :

$('select[name^="mydropdowns"] :selected').each(function() { 
    if ($(this).val() != 'Test') { 
     alert("Found."); 
    } 
}); 

는 '테스트'몇 드롭 다운 메뉴에서 기본 선택 값이다, 그러나이 스크립트는 경고를 반환하지 않습니다. 여기서 내가 뭘 잘못하고 있니?

+0

'$ (this) .val()'안에는'select'가 현재 선택된 옵션의 값을 반환합니다. – elclanrs

답변

6

다만

$('select[name^="mydropdowns"]').each(function() { 
    if ($(this).val() != 'Test') { 
     alert("Found."); 
    } 
}); 

val()하는 input/select/textarea 요소 appliable하지 option 요소이다 선택을 반복. doc로부터의 jQuery

다음 .val() 방법은 주로 입력 선택 및 텍스트 영역 등의 형태 요소의 값을 얻는 데 사용된다 http://api.jquery.com/val/

.

1

SELECT 자체는 선택할 수 없으므로 OPTION 수 있습니다. 그래서 경고를받지 못합니다.

1

위의 문제에 대한 전체 보관함을 작성했습니다. 데모 링크를 한 번 확인하십시오.

데모 :http://codebins.com/bin/4ldqp7h

HTML

<div> 
    <input type="button" id="btn1" value="Check Dropdown Values" /> 
</div> 
<div> 
    <select name="mydropdowns1"> 
    <option value="Test"> 
     Test 
    </option> 
    <option value="Test1"> 
     Test1 
    </option> 
    <option value="Test2"> 
     Test2 
    </option> 
    <option value="Test3"> 
     Test3 
    </option> 
    <option value="Test4"> 
     Test4 
    </option> 
    </select> 
    <select name="mydropdowns2"> 
    <option value="Test"> 
     Test 
    </option> 
    <option value="Test1"> 
     Test1 
    </option> 
    <option value="Test2"> 
     Test2 
    </option> 
    <option value="Test3"> 
     Test3 
    </option> 
    <option value="Test4"> 
     Test4 
    </option> 
    </select> 
    <select name="mydropdowns3"> 
    <option value="Test"> 
     Test 
    </option> 
    <option value="Test1"> 
     Test1 
    </option> 
    <option value="Test2"> 
     Test2 
    </option> 
    <option value="Test3"> 
     Test3 
    </option> 
    <option value="Test4"> 
     Test4 
    </option> 
    </select> 
    <select name="mydropdowns4" multiple="multiple"> 
    <option value="Test"> 
     Test 
    </option> 
    <option value="Test1"> 
     Test1 
    </option> 
    <option value="Test2" selected="selected"> 
     Test2 
    </option> 
    <option value="Test3"> 
     Test3 
    </option> 
    <option value="Test4" selected="selected"> 
     Test4 
    </option> 
    </select> 
</div> 

jQuery를 :

$(function() { 
    $("#btn1").click(function() { 
     $('select[name^="mydropdowns"]').each(function() { 
      if ($(this).val() != "Test") { 
       alert("Dropdown[Name=" + $(this).attr('name') + "] has selected value " + $(this).val()); 
      } 
     }); 
    }); 
}); 

데모 :http://codebins.com/bin/4ldqp7h

0

내가 실수하지 않았다면, 문제는 select 요소의 옵션을 반복하는 방법이라고 생각합니다.

다음은 사용자가 수행 할 수있는 방법입니다. 이것은 브라우저의 콘솔 (chrome과 firefox)을 사용하여 출력을 표시합니다.

var dropdown = $("select[name='dropdown']"); 

$('option', dropdown).each(function(){ 
    var val = $(this).prop("value"); 
    console.log(val); 
}); 
관련 문제