<option>
요소의 value 속성이 없을 경우, :selected는 태그 안의 내용을 가져오기 때문에, 값이 필요 없는 항목이더라도 반드시 공백을 지정해야 한다.<body> <form id="myform" > <div> <label for='subject'>과목</label> <select name="subject" id="subject"> <option value="">--- 선택하세요 ---</option> <option value="html">HTML</option> <option value="css">CSS</option> <option value="javascript">JAVASCRIPT</option> </select> </div> <button type="submit">입력값 확인</button> <hr /> <!-- 선택결과를 표시할 div --> <div id="result"></div> </form>
<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script> <script> $("#myform").on("submit", function(e){ e.preventDefault(); let val = $("#subject > option:selected").val(); if(!val){ alert("과목을 선택하세요"); return false; } let idx = $("#subject > option:selected").index(); $("#result").append("<div>과목 : " + val+"</div>"); $("#result").append("<div>선택한 과목의 인덱스 : " +idx +"</div>"); // $("#myform").submit(); }) </script> </body>
- select 의 선택된 값
$("#subject > option:selected").val();
- 인덱스로 값 가져오기
$("#subject > option:selected").index();