select 엘리먼트 다루기
select 엘리먼트의 항목 처리
동적으로 항목 추가
opts[opts.length] = new Option("옵션 text", "옵션 value");
동적으로 항목 제거
opts[2] = null;
자바와 달리 중간에 생긴 빈 공간은 없어지고 배열이 자동으로 정렬된다.
모든 항목 제거
opts.length = 0;
다음 예제는 '프로그래밍 언어'를 선택하면 두 번째 선택 상자에서 메뉴가 생성되는 예제이다. 언어를 선택할 때 최상위 메뉴를 선택하면 두 번째 선택 상자가 초기화되도록 구현했다.
sel.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>자바스크립트 select 엘리먼트 다루기</title> <script type="text/javascript"> function chooseLang() { var form = document.getElementById("testForm"); var lang = form.programLanguage.value; switch (lang) { case "java": form.step.options[0] = new Option("자바과정에대해","javaIntro"); form.step.options[1] = new Option("객체와 클래스","ClassObject"); form.step.options[2] = new Option("데이터타입","JavadataType"); break; case "javascript": form.step.options[0] = new Option("자바스크립트란","javascriptIntro"); form.step.options[1] = new Option("데이터타입","JavascriptDataType"); form.step.options[2] = new Option("자바스크립트객체","JavascriptObjects"); break; default: form.step.options.length = 0; } } </script> </head> <body> <form id="testForm" action="sel.html"> <select name="programLanguage" onchange="chooseLang()"> <option value="">--언어를 선택하세요</option> <option value="java">자바</option> <option value="javascript">자바스크립트</option> </select> <select name="step"> </select> <input type="submit" value="테스트" /> </form> </body> </html>sel.html 예제 실행