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 예제 실행
