수정하려고 하는 부분이 아래 이미지 캡쳐 부분으로 다중select가 세개 있습니다.
1번 2번 3번
문제는 1번이나 2번 3번 어떤 select를 선택하고나면 다른 두개의 다중select는 선택을해도 변화가 없네요...예를들어 1번에 지역선택->수도권->지하철호선->2호선->역선택->건대입구역 이렇게
1번을 완료하고 2번이나 3번에 다른 선택을 추가하려는데 1번을 완료하고나면 2,3번은 역을 불러오지를 못합니다.
제가 수정작업하다가 막힌 다중선택부분 소스입니다.
뭐가 문제일까요.....
스크립트 부분
Copy
<script><!--function loadDataSubway1(sel,target) { var trigger = sel.options[sel.selectedIndex].value; // 첫번째 selectbox의 선택된 텍스트 var form = sel.form.name; dynamic.src = "weddinghall_subway1.htm?form=" + form + "&trigger=" + trigger + "&target=" + target;}function loadDataSubway2(sel,target) { var trigger = sel.options[sel.selectedIndex].value; // 첫번째 selectbox의 선택된 텍스트 var form = sel.form.name; if(target=="subway1_3") var trigger2=document.joinform.subway1_1.value; else if(target=="subway2_3") var trigger2=document.joinform.subway2_1.value; else if(target=="subwa3_3") var trigger2=document.joinform.subway3_1.value; dynamic2.src = "weddinghall_subway2.htm?form=" + form + "&trigger=" + trigger + "&trigger2=" + trigger2 + "&target=" + target;}</script>
html부분
Copy
<select name=subway1_1 onChange="loadDataSubway1(this,'subway1_2')"> <option value='' style="color:#81857C">지역선택</option> <option value='1' style="color:#81857C">수도권</option> </select> <select name=subway1_2 onChange="loadDataSubway2(this,'subway1_3')"> <option value='' style="color:#81857C">지하철호선</option> </select> <select name=subway1_3> <option value='' style="color:#81857C">역선택</option> </select> | <select name=subway2_1 onChange="loadDataSubway1(this,'subway2_2')"> <option value='' style="color:#81857C">지역선택</option> <option value='1' style="color:#81857C">수도권</option> </select> <select name=subway2_2 onChange="loadDataSubway2(this,'subway2_3')"> <option value='' style="color:#81857C">지하철호선</option> </select> <select name=subway2_3> <option value='' style="color:#81857C">역선택</option> </select> | <select name=subway3_1 onChange="loadDataSubway1(this,'subway3_2')"> <option value='' style="color:#81857C">지역선택</option> <option value='1' style="color:#81857C">수도권</option> </select> <select name=subway3_2 onChange="loadDataSubway2(this,'subway3_3')"> <option value='' style="color:#81857C">지하철호선</option> </select> <select name=subway3_3> <option value='' style="color:#81857C">역선택</option> </select>
weddinghall_subway1.htm
Copy
<?session_start();include "../../Common/php/lib.php";$trigger2 = $_GET['trigger2'];$trigger = $_GET['trigger'];$target = $_GET['target'];$form = $_GET['form'];if($trigger == "") { echo "document.forms['".$form."'].elements['".$target."'].length = 1; \n"; // db에서 가져온 값이 10개라면 이렇단 소리야.. echo "document.forms['".$form."'].elements['".$target."'].options[0].selected = true;";} else { $query = "select * from con_subway_info where subway_code like '$trigger%' and depth='2' order by subway_code asc"; $result = mysql_query($query); $array_cnt = mysql_num_rows($result); // header("Content-Type: application/x-javascript"); // 요거 자바스크립트로 만들어주는거 (없어도 된단 말도 있고..) echo "document.forms['".$form."'].elements['".$target."'].length = ".($array_cnt+1)."; \n"; // db에서 가져온 값이 10개라면 이렇단 소리야.. echo "document.forms['".$form."'].elements['".$target."'].options[0].selected = true;"; $i=0; while($con_subway_info = mysql_fetch_array($result)) { if($trigger2 == $con_subway_info['subway_code']) { echo "document.forms['".$form."'].elements['".$target."'].options[$i+1].selected = true;"; } else { echo "document.forms['".$form."'].elements['".$target."'].options[$i+1].selected = false;"; } echo "document.forms['".$form."'].elements['".$target."'].options[".($i+1)."].text = '".$con_subway_info['subway_name']."'; \n"; echo "document.forms['".$form."'].elements['".$target."'].options[".($i+1)."].value = '".$con_subway_info['subway_code']."'; \n"; $i++; } }?>
weddinghall_subway2.htm
Copy
<?session_start();include "../../Common/php/lib.php";$trigger2 = $_GET['trigger2'];$trigger = $_GET['trigger'];$target = $_GET['target'];$form = $_GET['form'];if($trigger == "") { echo "document.forms['".$form."'].elements['".$target."'].length = 1; \n"; // db에서 가져온 값이 10개라면 이렇단 소리야.. echo "document.forms['".$form."'].elements['".$target."'].options[0].selected = true;";} else { $query = "select * from con_subway_info where subway_code like '$trigger%' and depth='3' order by subway_code asc"; $result = mysql_query($query); $array_cnt = mysql_num_rows($result); // header("Content-Type: application/x-javascript"); // 요거 자바스크립트로 만들어주는거 (없어도 된단 말도 있고..) echo "document.forms['".$form."'].elements['".$target."'].length = ".($array_cnt+1)."; \n"; // db에서 가져온 값이 10개라면 이렇단 소리야.. echo "document.forms['".$form."'].elements['".$target."'].options[0].selected = true;"; $i=0; while($con_subway_info = mysql_fetch_array($result)) { if($trigger2 == $con_subway_info['subway_code']) { echo "document.forms['".$form."'].elements['".$target."'].options[$i+1].selected = true;"; } else { echo "document.forms['".$form."'].elements['".$target."'].options[$i+1].selected = false;"; } echo "document.forms['".$form."'].elements['".$target."'].options[".($i+1)."].text = '".$con_subway_info['subway_name']."'; \n"; echo "document.forms['".$form."'].elements['".$target."'].options[".($i+1)."].value = '".$con_subway_info['subway_code']."'; \n"; $i++; } }?>
|
답변 2개
채택된 답변
+20 포인트
2017-09-05 (화) 21:27:34
해결되면 저도 궁금하네요..
2017-09-05 (화) 19:18:23
else if(target=="subwa3_3"
subway3_3 아닌가요?
답변을 작성하려면 로그인이 필요합니다.