Select 선택시 객체의 show, hidden 질문입니다.
본문
위경로에서 셀렉트박스에서 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);"
객체 배열이 작은건 상관없지만, 없을경우에는 오류 납니다.
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";
}
}
}
코드 자체가 하나일때만 처리되도록 되어 있습니다.
답변을 작성하시기 전에 로그인 해주세요.