테스트 사이트 - 개발 중인 베타 버전입니다

Select 선택시 객체의 show, hidden 질문입니다. 채택완료

https://m.blog.naver.com/PostView.nhn?blogId=lsv400&logNo=100041558359&proxyReferer=https:%2F%2Fwww.google.com%2F">https://m.blog.naver.com/PostView.nhn?blogId=lsv400&logNo=100041558359&proxyReferer=https:%2F%2Fwww.google.com%2F

 

위경로에서 셀렉트박스에서 1개 선택후에는 정상적으로 잘나옵니다

그런데 제가 필요한건 2개의 내용이나와야 하는데 

아래와같이 작업을 해봤는데 안되더라구요 ?

혹시 안되는 이유에 대해서 아시는분 계실까요?

 

 

</p>

<p> <table border="1px">

 

        <tr>

            <td id="tr_01">부서</td>   

            <td id="tr_02">전략사업부</td>   

            <td id="tr_01">담당</td>

            <td id="tr_02">

            <select name="Name" onchange="Show_hidden(this.value);">

            <option value="">담당자 선택</option>

            <option value="1">12 차장</option>

            <option value="2">123대리</option>

            <option value="3">1345 대리</option>

            <option value="4">1234 대리</option>

            </select>

        </td>   

            <td id="tr_01">연락처</td>   

            <td id="tr_02">

            <div id="test_1" style="display:block;">010-1111-1111</div>

             <div id="test_2" style="display:none;">010-2222-2222</div>

             <div id="test_3" style="display:none;">010-3333-3333</div>

             <div id="test_4" style="display:none;">010-4444-4444</div>

 

            </td>  

            <td id="tr_01">이메일</td>   

            <td id="tr_02">

            <div id="sot_1" style="display:block;">11</div>

             <div id="sot_2" style="display:none;">22</div>

             <div id="sot_3" style="display:none;">33</div>

             <div id="sot_4" style="display:none;">44</div>

            </td>   

        </tr>

    </table></p>

<p>

    </div>

  

    </form>

 <script language="JavaScript">

 <!--

 function Show_hidden(e){

  var menu = new Array("test_1","test_2","test_3","test_4","test_5"); // 객체 배열로 지정

  for(var i=0;i < menu.length;i++){

   if("test_"+e==menu[i]){

    document.all[menu[i]].style.display="block";

   }else{

    document.all[menu[i]].style.display="none";

   }

  }

 }  </p>

<p> function Show_hidden(e){

   var menu = new Array("sot_1","sot_2","sot_3","sot_4"); // 객체 배열로 지정

  for(var i=0;i < menu.length;i++){

   if("sot_"+e==menu[i]){

    document.all[menu[i]].style.display="block";

   }else{

    document.all[menu[i]].style.display="none";

   }

  }

 } 

 //--></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
function Show_hidden(e){   함수명이 같은걸 두번 사용은 안됩니다.

아래처럼 하세요

onchange="Show_hidden(this.value);Show_hidden2(this.value);"

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

<script language="JavaScript">
<!--
onchange="Show_hidden(this.value);Show_hidden2(this.value);"
var menu = new Array("test_1","test_2","test_3","test_4","test_5"); // 객체 배열로 지정
for(var i=0;i < menu.length;i++){
if("test_"+e==menu[i]){
document.all[menu[i]].style.display="block";
}else{
document.all[menu[i]].style.display="none";
}
}
}
function Show_hidden(e){
var menu = new Array("sot_1","sot_2","sot_3","sot_4"); // 객체 배열로 지정
for(var i=0;i < menu.length;i++){
if("sot_"+e==menu[i]){
document.all[menu[i]].style.display="block";
}else{
document.all[menu[i]].style.display="none";
}
}
}
//-->
</script>

이렇게 해도안되네요 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

객체 배열이 작은건 상관없지만, 없을경우에는 오류 납니다.

</p>

<p> function Show_hidden(e){

    var menu = new Array("test_1","test_2","test_3","test_4"); // 객체 배열로 지정

    

   for(var i=0;i < menu.length;i++){

    if("test_"+e==menu[i]){

      document.all[menu[i]].style.display="block";

    }else{

      document.all[menu[i]].style.display="none";

    }

   }

   var menu = new Array("sot_1","sot_2","sot_3","sot_4"); // 객체 배열로 지정

   for(var i=0;i < menu.length;i++){

    if("sot_"+e==menu[i]){

      document.all[menu[i]].style.display="block";

    }else{

      document.all[menu[i]].style.display="none";

    }

  }

 }</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

알려주신대로 해보니 잘됩니다. 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

코드 자체가 하나일때만 처리되도록 되어 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록