select 옵션값 새로고침해도 고정시키는 법
본문
select 옵션값 새로고침 해도 고정시키는 법을 알려주세요
city 와 county 중에
city 는 새로고침 해도 고정이 되는데 county 는 고정이 안됩니다
아래소스중에 어디를 수정해야 할까요?
-------------------------------------------------------
<script>
var county = [];
county.push([11110, "서울 종로구"]);
county.push([11140, "서울 중구"]);
county.push([11170, "서울 용산구"]);
county.push([11200, "서울 성동구"]);
~~~~~~
county.push([50110, "제주 제주시"]);
county.push([50130, "제주 서귀포시"]);
function change(city){
$("select#county option").remove();
$("select#county").append("<option value=\"\">-- 시/군/구 --</option>");
if(city == "00000"){
return;
}
for(i = 0; i < county.length; i++){
if((county[i][0] - city) < 1000 && (county[i][0] - city) > 0){
$("select#county").append("<option value=\""+county[i][0]+"\">"+county[i][1]+"</option>");
}
}
}
</script>
<form id="fsearch" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>?bo_table=<?php echo $board['bo_table']; ?>">
<input type="hidden" name="bo_table" value="<?php echo $bo_table; ?>">
<input type="hidden" name="bo_use_adv_search" value="1">
<input type="hidden" name="adv_type" value="guin">
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
<div style="position: relative; border: 0px solid #660000; margin:0; padding:0 10px 10px 10px; clear:both;">
<ul class="eztList_ul">
<li>
<span class="span_title">지역 : </span>
<select id="city" name="city" onchange="change(this.value);">
<option value='00000'>-- 시/도 --</option>
<option value='11000' <?php if($city == "11000") echo "selected"; ?>>서울</option>
<option value='26000' <?php if($city == "26000") echo "selected"; ?>>부산</option>
<option value='27000' <?php if($city == "27000") echo "selected"; ?>>대구</option>
<option value='28000' <?php if($city == "28000") echo "selected"; ?>>인천</option>
<option value='29000' <?php if($city == "29000") echo "selected"; ?>>광주</option>
<option value='30000' <?php if($city == "30000") echo "selected"; ?>>대전</option>
<option value='31000' <?php if($city == "31000") echo "selected"; ?>>울산</option>
<option value='36110' <?php if($city == "36110") echo "selected"; ?>>세종</option>
<option value='41000' <?php if($city == "41000") echo "selected"; ?>>경기</option>
<option value='42000' <?php if($city == "42000") echo "selected"; ?>>강원</option>
<option value='43000' <?php if($city == "43000") echo "selected"; ?>>충북</option>
<option value='44000' <?php if($city == "44000") echo "selected"; ?>>충남</option>
<option value='45000' <?php if($city == "45000") echo "selected"; ?>>전북</option>
<option value='46000' <?php if($city == "46000") echo "selected"; ?>>전남</option>
<option value='47000' <?php if($city == "47000") echo "selected"; ?>>경북</option>
<option value='48000' <?php if($city == "48000") echo "selected"; ?>>경남</option>
<option value='50000' <?php if($city == "50000") echo "selected"; ?>>제주</option>
</select>
<select id="county" name="county">
<option value="">-- 시/군/구 --</option>
</select>
</li>
답변 4
해당 페이지 하단에 추가
<script>
<?php if ($city && $county) { ?>
change('<?php echo $city ?>');
$('#county').val('<?php echo $county ?>');
<?php } ?>
</script>
county 값이 php 변수 값을 받아와서 선택 되어야 하는 부분이 되어있어야 하는데
지금은 단순히 자바스크립트만 표기되도록 하고 있고 선택되어 있어야 하는 변수값은 존재하지 않는걸로 보입니다.
$_GET 값으로 판단을 해야 하는데, 아니면 $_SESSION, $_COOKIE 값으로 인자 받아서 처리해야 되는 부분인데 실적으로 보안상 매우 좋지 않습니다.
<?php if($city == "11000") echo "selected"; ?>
city 라는 변수에 값이일치한다면 선택하라
선택값을 원하신다면 무얼 선택했는지를 남겨놓아야됩니다.
$("select#county").append("<option value=\""+county[i][0]+"\">"+county[i][1]+"</option>");
여기엔 selected 가 없네요