Select 선택시 객체의 show, hidden 질문입니다. 채택완료
위경로에서 셀렉트박스에서 1개 선택후에는 정상적으로 잘나옵니다
그런데 제가 필요한건 2개의 내용이나와야 하는데
아래와같이 작업을 해봤는데 안되더라구요 ?
혹시 안되는 이유에 대해서 아시는분 계실까요?
Copy
<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>
</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개
채택된 답변
+20 포인트
devdev
5년 전
function Show_hidden(e){ 함수명이 같은걸 두번 사용은 안됩니다.
아래처럼 하세요
onchange="Show_hidden(this.value);Show_hidden2(this.value);"
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
fldkfem
5년 전
댓글을 작성하려면 로그인이 필요합니다.
5년 전
객체 배열이 작은건 상관없지만, 없을경우에는 오류 납니다.
Copy
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";
}
}
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
<!--
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>
이렇게 해도안되네요 ㅠ