다중셀렉트 박스 2차메뉴 유지하기 부탁드립니다ㅠㅠ
본문
안녕하세요 ㅠㅠ 답답한 마음에 글 올려봅니다
function showSub(obj){
f = document.forms.form1;
if(obj == 1 ) {
f.service_type2.style.display = "";
f.service_type3.style.display = "none";
}else if(obj == 10)
f.service_type2.style.display = "none";
f.service_type3.style.display = "";
} else {
f.service_type2.style.display = "none";
f.service_type3.style.display = "none";
}
}
// 이렇게 1, 10에 값을 선택하면 1,10에 해당하는 각 2차메뉴박스가 나오는데 그 조건을 그대로 검색하면 다시 1차메뉴의 1이값이 들어가있는상태인데도 불구하고 2차메뉴가 사라지는데 어떻게 해야할까요?
<SELECT NAME="service_type" onChange="showSub(this.options[this.selectedIndex].value);">
<OPTION VALUE="<?=$opt_service_type?>" SELECTED>- 선택 - </OPTION>
<?=$opt_service_type?>
</SELECT>
<SELECT NAME="service_type2" style="display:none;">
<OPTION VALUE="" SELECTED>- 선택 - </OPTION>
<?=$opt_service_type2?>
</SELECT>
<SELECT NAME="service_type3" style="display:none;">
<OPTION VALUE="" SELECTED>- 선택 - </OPTION>
<?=$opt_service_type3?>
</SELECT>
이렇게 1, 10에 값을 선택하면 1,10에 해당하는 각 2차메뉴박스가 나오는데 그 조건을 그대로 검색하면 다시 1차메뉴의 1이값이 들어가있는상태인데도 불구하고 2차메뉴가 사라지는데 어떻게 해야할까요?
!-->
답변 2
스트립트 }else if(obj == 10) 부분에 { 누락되었네요...
function showSub(obj){
f = document.forms.form1;
if(obj == 1 ) {
f.service_type2.style.display = "";
f.service_type3.style.display = "none";
}else if(obj == 10){
f.service_type2.style.display = "none";
f.service_type3.style.display = "";
} else {
f.service_type2.style.display = "none";
f.service_type3.style.display = "none";
}
}
해당 스크립트 showSub() 는 onchange로 되어있습니다.
때문에 검색시 검색한 값이 있을경우 showSub()를 실행하는 스크립트 구문이 필요합니다.
ex)
<?php if($_POST['service_type']){?>
window.onload = function () {
showSub(<?php echo $_POST['service_type']?>); // $_POST['service_type'] 는 검색값
}
<?php } ?>
이렇게 하시면 검색시 해당 showSub() 스크립트를 실행하게 됩니다.
!-->!-->그냥 showSub걸 홈페이지가 열린때에 한번 더 호출하세요
답변을 작성하시기 전에 로그인 해주세요.