다중 select 질문입니다.
관련링크
본문
지금 지역 > 호선 > 역명 으로 이어지는 다중 select를 만들고 있는데요.
막히는 부분이 있어서 질문드립니다.
일단 스크립트 부분은
$(document).on('change', '.sel1', function(){
var i = $(this).index('.sel1');
var sel2 = $('.sel2');
var queryString = 'cate1='+ $(this).val();
//alert('queryString = '+ queryString);
//return false;
$.ajax({
type : 'post',
data : queryString,
url : 'http://diet.idealja.gethompy.com/works/111_setOpt.php',
dataType : 'html', //받을 방식
success : function(result, txtStatus){
//sel2.eq(i).html('<option value="">=호선선택=</option>');
sel2.eq(i).append(result);
},
error : function(request, status, error){
alert("code : "+ request.status +"\n"+"message : "+ request.responseText +"\n"+"error : "+ error);
}
});
});
select 부분
<select name="etc_11[]" onchange="setCategory2()" class="sel1">
<option value="">=지역선택=</option>
<option value="1" >수도권</option>
<option value="3" >부산</option>
<option value="4" >대전</option>
<option value="2" >대구</option>
<option value="5" >광주</option>
</select>
<select name="etc_12[]" class="sel2">
<option>=호선선택=</option>
</select>
<select name="etc_13[]" class="sel3">
<option>=역선택=</option>
</select>
111_setOpt.php 부분
<?
$root = $_SERVER['DOCUMENT_ROOT'] ."/";
include "{$root}db.inc.php";
include "{$root}config.inc.php";
$cate1 = '';
$cate1 = $_POST['cate1'];
$strOpt = '';
$sql_sub1 = "select * from con_subway_info where subway_code like '".$cate1."%' and depth = '2'";
$result = $GLOBALS['lib_common']->querying($sql_sub1);
while($sub1 = mysql_fetch_array($result)){
$strOpt .= '<option value= "'.$sub1[subway_code].'" >'.$sub1[subway_name].'</option>';
}
echo $strOpt;
?>
이렇게 되어있습니다.
위 내용은 http://diet.idealja.gethompy.com/works/metro_sel.php << 요기에서 볼 수 있구요...
문제는 최초 지역을 수도권으로 선택시 2depth에 수도권 호선이 나오는데 다시 1depth의 지역을
다른 지역으로 예를들어 부산으로 변경하면 2depth의 호선 내용이 reset이 되고 부산지역의 호선만
나와야 하는데 이전에 나온 수도권지역 호선 아래에 같이 노출이 되고 있습니다. 여기서 다시 대구를
선택하면 마찬가지로 수도권+부산+대구의 호선이 나오고 있습니다.
1depth를 선택시 2depth를 리셋하고 다시 선택한 1depth에 해당하는 내용만 표시하려면 어떻게 해야할까요?
!-->!-->!-->
답변 1
success : function(result, txtStatus){ //sel2.eq(i).html('<option value="">=호선선택=</option>'); sel2.eq(i).empty().append(result); //먼저 비우고 append 하세요 },
답변을 작성하시기 전에 로그인 해주세요.