웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
XML+JS 연동 다중셀렉트
2004.02.16 04:01
--------------------------------------------------------------------------------------
| 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>
jueyini.com,jueyini@jueyini.com
새로운 스무살 ..!! 열정,슬픔,기쁨
그리고 ..♡.. 사랑의 시작이다...!!
| 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>
jueyini.com,jueyini@jueyini.com
새로운 스무살 ..!! 열정,슬픔,기쁨
그리고 ..♡.. 사랑의 시작이다...!!
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
허접한 풀다운 메뉴 소스입니다. (유용한 팁 일지는 모르겠네요.) [9] | tintintm | 2004.03.23 |
버튼 만들기 [1] | 旻天 | 2004.03.23 |
MS agent online object - Default Character 인 Merlin Action 추가 [2] | 꽃ちゃん | 2004.03.19 |
움직이는 타이틀바 [4] | 김동현 | 2004.03.18 |
웹브라우저 상태바가 밑으로 내려오는 소스 [5] | 프리서버 | 2004.03.16 |
브라우져(윈도우) 창의 크기(사이즈)를 조절하는 소스입니다 [5] | 나야 | 2004.03.15 |
프레임사이트에서 자식 프레임(URL)로 직접 치고 들어 올경우 다시 프레임 부모로 돌려보내는 소스 | 나야 | 2004.03.15 |
전체 include menu 만들기(롤오버 이미지 사용) [4] | Neoyoung | 2004.03.14 |
[초간단 자바스크립트!] 서브메뉴 만들기...~ [11] | ∑Ztxy | 2004.03.10 |
뉴스티커 [16] | zero | 2004.03.10 |
보안문서 만들기 [5] | 민우주 | 2004.03.07 |
팝업 창 띄우고 어미창 사라지게 하는 소스 [5] | piasol | 2004.03.06 |
방문자 OS보여주기 [5] | 구조반 | 2004.03.05 |
벅스뮤직 음악듣기 및 시작 정지 버튼 넣기(기타 음악파일도...) [3] | 카멜롯™ | 2004.03.04 |
회원 가입 페이지 이젠 끝이다 [5] | 윌 | 2004.03.03 |
우뚜같은 포워딩 페이지에서 프레임 깨기.(프레임 없애기) [17] | 김영성 | 2004.02.19 |
벅스뮤직 플레이어 스크립트 추출기 [4] | 이녀석 | 2004.02.16 |
XML+JS 연동 다중셀렉트 | 투헤븐 | 2004.02.16 |
BGM Player (배경 음악) [17] | 장진석 | 2004.02.16 |
페이지 내에 주소창 달기 [1] | piasol | 2004.02.09 |