다중select 질문 드립니다...
본문
수정하려고 하는 부분이 아래 이미지 캡쳐 부분으로 다중select가 세개 있습니다.
1번 2번 3번
문제는 1번이나 2번 3번 어떤 select를 선택하고나면 다른 두개의 다중select는 선택을해도 변화가 없네요...예를들어 1번에 지역선택->수도권->지하철호선->2호선->역선택->건대입구역 이렇게
1번을 완료하고 2번이나 3번에 다른 선택을 추가하려는데 1번을 완료하고나면 2,3번은 역을 불러오지를 못합니다.
제가 수정작업하다가 막힌 다중선택부분 소스입니다.
뭐가 문제일까요.....
스크립트 부분
<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부분
<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
<?
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
<?
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++;
}
}
?>
답변을 작성하시기 전에 로그인 해주세요.