2단 셀렉트 메뉴의 처음 선택값에 따라 각각 다른 입력폼으로... > 그누4 질문답변

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

2단 셀렉트 메뉴의 처음 선택값에 따라 각각 다른 입력폼으로... 정보

2단 셀렉트 메뉴의 처음 선택값에 따라 각각 다른 입력폼으로...

본문

도움 주셨으면 합니다.

2단 셀렉트 메뉴의 첫째(1차) 선택된 값에 따라,

각각 다른 입력폼(질문)으로 보여지게 하려고 합니다.

먼저, 동적 셀렉트 메뉴...

---------------------------------------------------------------------------------------

<script>
var hobby0 = new Array("-선택-","");
var hobby1 = new Array("보석","향수","우표","골동품","화폐");
var hobby2 = new Array("헹글라이딩","패러글라이딩","스카이다이빙","스쿠버다이빙");
var hobby3 = new Array("독서","영화","사진","미술","악기");
var hobby4 = new Array("공예","사진","그림","문예");
function hobbychange(item){
    var temp, i=0, j=0;
    var ccount, cselect;
    temp = document.signform.hobby;
    for (i=(temp.options.length-1) ; i>0 ; i--){ temp.options[i] = null; }
    eval('ccount = hobby' + item + '.length');
    for (j=0 ; j<ccount ; j++) {
        eval('cselect = hobby' + item + '[' + j + '];');
        temp.options[j]= new Option(cselect,cselect);
    }
    temp.options[0].selected=true;
    return true;
}
</script>
<form name=signform>
<table cellpadding=1>
<tr>
<td>1차</td>
<td>2차</td>
</tr>
<tr>
<td>
<select name=bighobby onChange=javascript:hobbychange(document.signform.bighobby.options.selectedIndex);>
<option selected value="">-선택-</option>
<option value=수집>수집</option>
<option value=야외>야외</option>
<option value=문화>문화</option>
<option value=창작>창작</option>
</select>
</td>
<td>
<select name=hobby size=1>
<option selected value="">-선택-</option>
<option value=""></option>
</select>
</td>
</tr>
</table>
</form>

---------------------------------------------------------------------------------------

1차 선택이... "수집", "야외", "문화"인 경우에는 [ 질문 1 ]을...

1차 선택이... "창작"을 선택한 경우엔 [ 질문 2 ]가 보여졌으면 합니다.

---------------------------------------------------------------------------------------

셀렉트 메뉴 첫째 선택값을 어떻게 배열해 주어야 하나요...?

글수정 할 경우에도 문제없이 잘 작동하게 하고 싶습니다...

고수님들께서 도움 주셨으면 합니다.

---------------------------------------------------------------------------------------

<form>

... 이부분이 막막합니다 ...

<div style="relative; display:block;">

<div id="Q1">
... [ 질문 1 ] ...
</div>

<div id="Q2" style="absolute; display:none;">
... [ 질문 2 ] ...
</div>

</div>

</form>


<script type="text/javascript">
function input(temp)
{
    if(temp==1)
    { 
        document.getElementById("Q1").style.display="";
        document.getElementById("Q2").style.display="none";
    }else{
        document.getElementById("Q1").style.display="none";
        document.getElementById("Q2").style.display="";
    }
}
</script>

  • 복사

댓글 전체

이천이지님, 그간 잘 지내셨는 지요?
전에 UTF-8 구현을 위해서 도메인 지원해 드렸던 적있는... ( 기억하시겠죠? ^^ )
제가 질문에 대한 설명을 전달력있게 하지못하여, 답변이 약간 벗어나게 되었네요.
하지만, 도움되었습니다. 답변 감사드립니다.
이걸 원하신거죠?


  <script> 
var hobby0 = new Array("-선택-",""); 
var hobby1 = new Array("보석","향수","우표","골동품","화폐"); 
var hobby2 = new Array("헹글라이딩","패러글라이딩","스카이다이빙","스쿠버다이빙"); 
var hobby3 = new Array("독서","영화","사진","미술","악기"); 
var hobby4 = new Array("공예","사진","그림","문예"); 
function hobbychange(item){ 
    var temp, i=0, j=0; 
    var ccount, cselect; 
    temp = document.signform.hobby; 
    for (i=(temp.options.length-1) ; i>0 ; i--){ temp.options[i] = null; } 
    eval('ccount = hobby' + item + '.length'); 
    for (j=0 ; j<ccount ; j++) { 
        eval('cselect = hobby' + item + '[' + j + '];'); 
        temp.options[j]= new Option(cselect,cselect); 
    } 
    temp.options[0].selected=true; 
    return true; 
} 
</script> 
<form name=signform> 
<table cellpadding=1> 
<tr> 
<td>1차</td> 
<td>2차</td> 
</tr> 
<tr> 
<td> 
<select name=bighobby onChange="hobbychange(document.signform.bighobby.options.selectedIndex);input(this.options.selectedIndex);"> 
<option selected value="">-선택-</option> 
<option value=수집>수집</option> 
<option value=야외>야외</option> 
<option value=문화>문화</option> 
<option value=창작>창작</option> 
</select> 
</td> 
<td> 
<select name=hobby size=1> 
<option selected value="">-선택-</option> 
<option value=""></option> 
</select> 
</td> 
</tr> 
</table> 
</form> 



<form> 

<div style="relative; display:block;"> 

<div id="Q1"  style="absolute; display:none;"> 
... [ 질문 1 ] ... 
</div> 

<div id="Q2" style="absolute; display:none;"> 
... [ 질문 2 ] ... 
</div> 

</div> 

</form> 


<script type="text/javascript"> 
function input(item) 
{
    if(item==1 || item==2 || item==3) 
    {  
        document.getElementById("Q1").style.display=""; 
        document.getElementById("Q2").style.display="none"; 
    }
	else if(item==4)
    { 
        document.getElementById("Q1").style.display="none"; 
        document.getElementById("Q2").style.display=""; 
    }
	else
	{
        document.getElementById("Q1").style.display="none"; 
        document.getElementById("Q2").style.display="none"; 
	}
} 
</script> 
시간 내셔서 명쾌한 답글 주셔서 많은 도움이 되었습니다.
진심으로 감사드립니다. ( 약간의 변경을 하게되어 같은 질문에 대해, "쪽지"를 드리게 되었습니다. )
© SIRSOFT
현재 페이지 제일 처음으로