4단 콤보 select 폼 만들기 > 기술자료 | 해피정닷컴

4단 콤보 select 폼 만들기 > 기술자료

본문 바로가기

사이트 내 전체검색

4단 콤보 select 폼 만들기 > 기술자료

JavaScript 4단 콤보 select 폼 만들기

페이지 정보


본문

다중(멀티/multi) 선택(select) 만들기

4단 콤보 select 만들기


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
<table>
  <tr>
    <td style='padding-left:9px; height:30px;'>· 진료과 <span class="required">(필수)</span></td>
    <td>
<select name="wr_9" id="combo_0" onChange="change(this)" style="width:100px; color:#5184CD; " class=write_input_select >
  <option value="">진료과선택</option>
  <option value='선택1'>선택1</option>
  <option value='선택2'>선택2</option>
  <option value='선택3'>선택3</option>
</select>
<select name="wr_10" id="combo_1" onChange="change(this)" style="width:150px; color:#5184CD;" class=write_input_select >
</select>
<select name="wr_8" id="combo_2" onChange="change(this);" style="width:90px; color:#5184CD; " class=write_input_select >
</select>
<select name="wr_3" id="combo_3" onChange="change(this);" style="width:255px; color:#5184CD; " class=write_input_select >
</select>
   </td>
</tr>
 
<script language="JavaScript" type="text/javascript">
<!--
// first combo box
  /*
  data_1 = new Option("선택1", "선택1");
  data_2 = new Option("선택2", "선택2");
  data_3 = new Option("선택3", "선택3");
  */

// second combo box
  // 선택1_옵션
  data_1_1 = new Option("선택1_옵션1", "선택1_옵션1");
  data_1_2 = new Option("선택1_옵션2", "선택1_옵션2");
 
  // 선택2_옵션
  data_2_1 = new Option("선택2_옵션1", "선택2_옵션1");
  data_2_2 = new Option("선택2_옵션2", "선택2_옵션2");

  // 선택3_옵션
  data_3_1 = new Option("선택3_옵션1", "선택3_옵션1");
  data_3_2 = new Option("선택3_옵션2", "선택3_옵션2");
 

// third combo box

  // 선택1_옵션1_옵션
  data_1_1_1 = new Option("선택1_옵션1_옵션1", "선택1_옵션1_옵션1");
  data_1_1_2 = new Option("선택1_옵션1_옵션2", "선택1_옵션1_옵션2");

  // 선택1_옵션2_옵션 
  data_1_2_1 = new Option("선택1_옵션2_옵션1", "선택1_옵션2_옵션1");
  data_1_2_2 = new Option("선택1_옵션2_옵션2", "선택1_옵션2_옵션2");

  // 선택2_옵션1_옵션
  data_2_1_1 = new Option("선택2_옵션1_옵션1", "선택2_옵션1_옵션1");
  data_2_1_2 = new Option("선택2_옵션1_옵션2", "선택2_옵션1_옵션2");

  // 선택2_옵션2_옵션 
  data_2_2_1 = new Option("선택2_옵션2_옵션1", "선택2_옵션2_옵션1");
  data_2_2_2 = new Option("선택2_옵션2_옵션2", "선택2_옵션2_옵션2");

  // 선택3_옵션1_옵션
  data_3_1_1 = new Option("선택3_옵션1_옵션1", "선택3_옵션1_옵션1");
  data_3_1_2 = new Option("선택3_옵션1_옵션2", "선택3_옵션1_옵션2");

  // 선택3_옵션2_옵션 
  data_3_2_1 = new Option("선택3_옵션2_옵션1", "선택3_옵션2_옵션1");
  data_3_2_2 = new Option("선택3_옵션2_옵션2", "선택3_옵션2_옵션2");


// fourth combo box

  // 선택1_옵션1_옵션1_옵션
  data_1_1_1_1 = new Option("선택1_옵션1_옵션1_옵션1", "선택1_옵션1_옵션1_옵션1");
  data_1_1_1_2 = new Option("선택1_옵션1_옵션1_옵션2", "선택1_옵션1_옵션1_옵션2");
   
  // 선택1_옵션1_옵션2_옵션
  data_1_1_2_1 = new Option("선택1_옵션1_옵션2_옵션1", "선택1_옵션1_옵션2_옵션1");
  data_1_1_2_2 = new Option("선택1_옵션1_옵션2_옵션2", "선택1_옵션1_옵션2_옵션2");
 

// other parameters
  displaywhenempty="-선택없음-"
  valuewhenempty=""
  displaywhennotempty="- 항목선택↓  -"
  valuewhennotempty=""

function change(currentbox) {
  numb = currentbox.id.split("_");
  currentbox = numb[1];
  i=parseInt(currentbox)+1
  // I empty all combo boxes following the current one
  while ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&
    (document.getElementById("combo_"+i)!=null)) {
    son = document.getElementById("combo_"+i);
    // I empty all options except the first one (it isn't allowed)
    for (m=son.options.length-1;m>0;m--) son.options[m]=null;
    // I reset the first option
    son.options[0]=new Option(displaywhenempty,valuewhenempty)
    i=i+1
  }

  // now I create the string with the "base" name ("stringa"), ie. "data_1_0"
  // to which I'll add _0,_1,_2,_3 etc to obtain the name of the combo box to fill
  stringa='data'
  i=0
  while ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&
    (document.getElementById("combo_"+i)!=null)) {
    eval("stringa=stringa+'_'+document.getElementById(\"combo_"+i+"\").selectedIndex")
    if (i==currentbox) break;
    i=i+1
  }

  // filling the "son" combo (if exists)
  following=parseInt(currentbox)+1
  if ((eval("typeof(document.getElementById(\"combo_"+following+"\"))!='undefined'")) &&
    (document.getElementById("combo_"+following)!=null)) {
    son = document.getElementById("combo_"+following);
    stringa=stringa+"_"
    i=0
    while ((eval("typeof("+stringa+i+")!='undefined'")) || (i==0)) {
      // if there are no options, I empty the first option of the "son" combo
      // otherwise I put "-select-" in it
      if ((i==0) && eval("typeof("+stringa+"0)=='undefined'"))
      if (eval("typeof("+stringa+"1)=='undefined'"))
        eval("son.options[0]=new Option(displaywhenempty,valuewhenempty)")
      else
        eval("son.options[0]=new Option(displaywhennotempty,valuewhennotempty)")
      else
        eval("son.options["+i+"]=new Option("+stringa+i+".text,"+stringa+i+".value)")
      i=i+1
    }
    //son.focus()
    i=1
    combostatus=''
    cstatus=stringa.split("_")
    while (cstatus[i]!=null) {
      combostatus=combostatus+cstatus[i]
      i=i+1
    }
    return combostatus;
  }
}
//-->
</script>

</table>
</body>
</html>


참고자료
http://www.technote.co.kr/php/technote1/board.php?board=apple&command=body&no=493

댓글목록

등록된 댓글이 없습니다.


Total 21건 1 페이지
  • RSS
기술자료 목록
21
그누보드   5065  2021-08-31 18:52  
20
그누보드   4924  2021-02-25 22:28 ~ 2021-03-17 11:33  
19
MySQL   11802  2019-09-09 20:18  
18
MySQL   8993  2019-01-22 00:43  
17
HTML   6699  2018-11-16 12:11 ~ 2018-11-16 12:17  
16
그누보드   10503  2018-01-19 14:37  
15
MSSQL   9387  2017-12-05 23:56 ~ 2017-12-05 23:58  
14
Java   23541  2017-04-02 15:44  
13
그누보드   37423  2014-04-13 14:57  
12
Adobe   36941  2013-03-23 17:25 ~ 2013-03-23 00:00  
열람
JavaScript   18484  2013-01-14 20:23  
10
HTML   24969  2012-10-20 21:42  
9
ClassicASP   15543  2012-04-18 13:41 ~ 2016-03-30 00:00  
8
ClassicASP   12844  2012-01-14 23:08 ~ 2014-01-13 00:00  
7
MySQL   13402  2009-12-09 22:32  
6
MSSQL   41507  2009-07-27 07:28  
5
HTML   16044  2009-01-04 03:51  
4
MSSQL   21593  2008-11-27 14:21  
3
PHP   22581  2008-04-26 15:59 ~ 2013-01-14 00:00  
2
JavaScript   23448  2006-11-08 21:33 ~ 2018-04-12 17:28  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.