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

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

QA

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

본문

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

 

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

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

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

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

 

 


 <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;">*** 개인정보보호를 위한 휴대폰번호 노출방지 ***</div>
             <div id="test_2" style="display:none;">*** 개인정보보호를 위한 휴대폰번호 노출방지 ***</div>
             <div id="test_3" style="display:none;">*** 개인정보보호를 위한 휴대폰번호 노출방지 ***</div>
             <div id="test_4" style="display:none;">*** 개인정보보호를 위한 휴대폰번호 노출방지 ***</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>

    </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";
   }
  }
 }  
 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";
   }
  }
 } 
 //-->

이 질문에 댓글 쓰기 :

답변 3

function Show_hidden(e){   함수명이 같은걸 두번 사용은 안됩니다.

아래처럼 하세요

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

<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>

이렇게 해도안되네요 ㅠ

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


 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";
    }
  }
 }
답변을 작성하시기 전에 로그인 해주세요.
전체 16,782
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT