sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars4  
extra_vars5  
extra_vars6  
http://myhome.gimhae.go.kr/cugain/cugain_pds/cugain_board_javadata/javascript/composite_selectbox/composite_selectbox.htmlhttp://myhome.gimhae.go.kr/cugain/cugain_pds/cugain_board_javadata/javascript/composite_selectbox/composite_selectbox.zip
링크1 : 소스 다운로드
링크2 : 예제 보기

--------------------------------------------------------------------------------------
                 |    JS+XML 연동                           |   Iframe+DB연동
--------------------------------------------------------------------------------------
로딩회수    |           1                                      |   주(대분류)셀렉트메뉴 를 선택할때마다 iframe을 리프래쉬
연동데이터 |         XML                                   |   DB,파일DB
파싱여부    |    클라이언트에서 로딩후 바로 출력  |   파일DB일 경우 필요..
--------------------------------------------------------------------------------------

//////////////////////////////////////////////////////////////////////////////
themecate.xml 파일
//////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="euc-kr"?>
<root>
<index  code="A" text="게임">
        <itemA code="AA" text="온라인 게임" />
        <itemA code="AB" text="비디오 게임" />
        <itemA code="AC" text="PC 게임" />
        <itemA code="AD" text="게임 매거진"/>
        <itemA code="AE" text="일반 게임" />
</index>
<index code="B" text="만화/애니">
        <itemB code="BA" text="일본만화/애니" />
        <itemB code="BB" text="한국만화/애니" />
        <itemB code="BC" text="순정" />
        <itemB code="BD" text="무협" />
        <itemB code="BE" text="코믹" />
        <itemB code="BF" text="작가" />
        <itemB code="BG" text="창작" />
        <itemB code="BH" text="만화일반" />
</index>
</root>
//////////////////////////////////////////////////////////////////////////////
0070.HTM 파일
//////////////////////////////////////////////////////////////////////////////
<SCRIPT LANGUAGE="JavaScript">
var xmlDoc;
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
//셀렉트 DB 로드
xmlDoc.load("../themecate.xml");

function themeCate_Load(){
        //대분류 인덱스 값 정리하기
        cnt=xmlDoc.getElementsByTagName("index").length;
        this.text=new Array(cnt);
        this.code=new Array(cnt);
        for(i=0;i<cnt;i++){
                this.code[i]=xmlDoc.getElementsByTagName("index/@code").item(i).text;
                this.text[i]=xmlDoc.getElementsByTagName("index/@text").item(i).text;
        }
}

//대분류 카테리스트 출력
function themeCate_List() {
        //대분류 리스트 객체 반환
        themeSel=new themeCate_Load();
        cnt=themeSel.code.length;
        for(i=0;i<cnt;i++) {
                selCnt=opt.options.length;opt.options.length++;
                opt.options[selCnt].text=themeSel.text[i];
                opt.options[selCnt].value=themeSel.code[i];
        }
}

//소분류 셀렉트 출력
function themeCate_Change(t) {
        //이전 소분류셀렉 초기화
        opt2.options.length=1;
        //선택된 대분류의 코드값을 가진 소분류 리스트를 가져온다.
        sel=t.selectedIndex;
        code=t.options[sel].value;
        tree=xmlDoc.getElementsByTagName("item"+code+"/@text");
        cnt=tree.length-1;
        for(i=0;i<=cnt;i++){
                selCnt=opt2.options.length++;
                opt2.options[selCnt].text=tree.item(i).text;
        }
}
</SCRIPT>

<!--대분류셀렉트-->
<select name="opt" onchange="themeCate_Change(this)">
        <option>--대분류--</option>
</select>

<!--소분류셀렉트-->
<select name="opt2">
        <option>--소분류--</option>
</select>

<!--대분류셀렉트 목록 출력-->
<script>themeCate_List()</script>
---------------------------------------------------------------------------------------------------
XML 트리구조
작성방법은 HTML과 비슷하나 태그를 임의로 생성 가능합니다.
단  </iframe></html>처럼 끝나는지 않는 <br>  같은 단독태그들은
<br /> 처럼 태그뒤에 공백과 / 를 포함해야합니다. 그리고 태그안에
어트리뷰트(속성) 값들은 반드시 "으로시작해서 "으로 끝나야합니다

<index code="A" text="언어/글자">
        <itemA text="가나다라마바사" />
        <itemA text="ABCDEF" />
</index>
<index code="B" text="게시판">
        <itemB text="제로보드" />
        <itemB text="미니보드" />
</index>


번호 제목 글쓴이 날짜 조회 수
86 연산자 (===, ==, >=, <=) 황제낙엽 2012.05.30 523
85 JSON.parse() - feat. Object.assign 황제낙엽 2017.07.09 522
84 테이블 엘리먼트 생성 스크립트 황제낙엽 2009.04.07 521
83 자바스크립트 타입 비교 테이블 + 테이블 작성 스크립트 [1] file 황제낙엽 2017.06.23 520
82 체인 생성자(생성자 체인), 프로토타입 체인 그리고 생성자 재지정 황제낙엽 2009.08.12 520
81 Strict 모드 황제낙엽 2020.08.23 517
80 Stack (스택) 예제 프로그램 황제낙엽 2012.12.27 517
79 소숫점을 포함한 반올림 황제낙엽 2008.12.11 516
78 3시간 걸려서 만든 입력폼 자릿수체크 스크립트 황제낙엽 2006.04.22 516
77 CORS 관련 레퍼런스 URL 황제낙엽 2020.07.10 515
76 파이어폭스로 스크립트 디버깅하기 황제낙엽 2009.01.14 515
75 Methods and properties of Microsoft.XMLDOM 황제낙엽 2005.12.04 515
74 [key:value] 형태로 object를 저장할 수 있는 Static영역의 해쉬맵 클래스 (Map) 황제낙엽 2008.11.04 514
73 env.js 사용시 부족한 부분 file 황제낙엽 2012.02.15 513
72 [펌] 아사페릴의 사생활 - Javascript의 클래스에 관한 이야기 황제낙엽 2009.04.02 513
71 XMLHttpRequest 제대로 활용하기 file 황제낙엽 2017.08.01 512
70 charcode 32와 160 차이 (javascript char 160 to 32) 황제낙엽 2019.05.11 511
69 getBoundingClientRect in FF3 file 황제낙엽 2013.01.11 511
68 toString 변환 테이블 황제낙엽 2009.09.02 511
67 자바스크립트 쿠키 황제낙엽 2009.06.11 510