상위 셀렉트박스 값 변경시 하위셀렉트박스(다수)제어하기 기능 구현 도중....
본문
일단 소스를 보시면 name값 "pcno" 이라는 select박스의 선택에 따라(자바스크립트 함수 showSub())
2차 선택 name값 = "2ser" 인 select값이 style display로 가져졌다고 생겼다고 합니다.
문제는 새로 name값이 2ser로 중복이 되는데요 중복 되면 안되는거 알고 있는데.
불행하게도 이 name값이 꼭 같아야 합니다.
꼭 2ser로 같아야 검색이 가능합니다.
무슨 방법이 없을까요??ㅠ,ㅠ 1차셀렉트 선택에 따라 원하는 2차 셀렉트가 나와야 하고 ㅠ,ㅠ
그리고 name값이 둘다 꼭 같아야 하고 ㅠ.ㅠ
방법이 없을까요?
<form id="article_searchFrm" name="article_searchFrm" action="/board/index.html" method="GET" class="sms_form">
<select name="pcno" id="pcno" style="height:20px" onChange="showSub(this.options[this.selectedIndex].value);">
<option value="">1차선택</option>
<option value="42">가자</option>
<option value="43">갑시다~</option>
</select>
<select name="2ser" id="111" style="height:20px" style="display:;">
<option value="">2차선택</option>
<option value="aaa">aaa</option>
<option value="bbb">bbb</option>
</select>
<select name="2ser" id="222" style="height:20px" style="display:none">
<option value="">2차선택</option>
<option value="ccc">ccc</option>
<option value="ddd">ddd</option>
input type="button" onclick="javascript:doSearch();" align="absmiddle" value="검색">
</form>
<script language="JavaScript">
<!--
function doSearch() {
var frm = document.article_searchFrm;
frm.submit();
}
function showSub(obj) {
var frm = document.forms.article_searchFrm;
if(obj == 42) {
document.getElementById("111").style.display = "";
document.getElementById("222").style.display = "none";
} else {
document.getElementById("111").style.display = "none";
document.getElementById("222").style.display = "";
}
}
//-->
</script>
답변 2
if(obj == 42) {
document.getElementById("111").style.display = "block";
document.getElementById("111").disabled = false;
document.getElementById("222").style.display = "none";
document.getElementById("222").disabled = true;
} else {
document.getElementById("111").style.display = "none";
document.getElementById("111").disabled = true;
document.getElementById("222").style.display = "block";
document.getElementById("222").disabled = false;
}
동일한 이름으로 넘길 경우엔 무조건 마지막에 있는 애가 다 덮어 버려서 숨기는 애만 disabled 시키시면 됩니다.
getElementById id값을 사용하고 있기때문에 name값의 중복은 상관이 없지 싶은데요