select 옵션값 새로고침해도 고정시키는 법

select 옵션값 새로고침해도 고정시키는 법

QA

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 변수 값을 받아와서 선택 되어야 하는 부분이 되어있어야 하는데

지금은 단순히 자바스크립트만 표기되도록 하고 있고 선택되어 있어야 하는 변수값은 존재하지 않는걸로 보입니다.

<?
$city = $_GET['city'];
$county = $_GET['county'];

if ($city == 0 && $county == 0) {
$region = null;
} else if ($city != 0 && $county == 0) {
$region = $city;
} else if ($city != 0 && $county != 0) {
$region = $county;
}
?>

이런 부분이 있습니다

위 소스는 $region 값을 어느 기준에서 표기해주느냐 인듯 한데

 

$county 선택하는 변수값을 받아서 county 값을 선택해서 처리해 주는 부분은 존재 하지 않는걸로 보입니다.

$_GET 값으로 판단을 해야 하는데, 아니면 $_SESSION, $_COOKIE 값으로 인자 받아서 처리해야 되는 부분인데 실적으로 보안상 매우 좋지 않습니다.

소스 좀 다시 확인해봤는데, 자바스크립트로 어렵게 하시지 마시구, 다 불러와서 자바스크립트에서 처리하시는게 빠를듯합니다.

자바스크립트값을 PHP로 넘기는건 불가능하니.. 아니면

var seleted = <?php echo $_GET['city']?>; 으로 처리해서
county[i][0] 랑 비교하면 될듯욥!

https://sir.kr/qa/481012 제가 질문 올린 글 참고해보세요!

<?php if($city == "11000") echo "selected"; ?>

city 라는 변수에 값이일치한다면 선택하라


선택값을 원하신다면 무얼 선택했는지를 남겨놓아야됩니다.

$("select#county").append("<option value=\""+county[i][0]+"\">"+county[i][1]+"</option>");

여기엔 selected 가 없네요

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 39
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT