이전 목록 다음
채택완료

상위 셀렉트박스 값 변경시 하위셀렉트박스(다수)제어하기 기능 구현 도중....

일단 소스를 보시면 name값 "pcno​" 이라는 select박스의 선택에 따라(자바스크립트 함수 showSub​()

2차 선택 name값 = "2ser" 인 select값이 style display​로 가져졌다고 생겼다고 합니다.

 

문제는 새로 name값이 2ser로 중복이 되는데요 중복 되면 안되는거 알고 있는데.

 

불행하게도 이 name값이 꼭 같아야 합니다.

 

2ser​로 같아야 검색이 가능합니다.

 

무슨 방법이 없을까요??ㅠ,ㅠ 1차셀렉트 선택에 따라 원하는 2차 셀렉트가 나와야 하고 ㅠ,ㅠ

 

그리고 name값이 둘다 꼭 같아야 하고 ㅠ.ㅠ

 

방법이 없을까요?​

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

채택된 답변
+20 포인트
2015-05-28 (목) 20:42:08

    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값의 중복은 상관이 없지 싶은데요

답변을 작성하려면 로그인이 필요합니다.