select box 값 유지 질문입니다.
본문
<?php
$sql = "select wr_1,ca_name from g5_write_job_list group by wr_1";
$result = sql_query($sql);
?>
<select class="sch_input" id="sel_change">
<option value="#">전체</option>
<?php
for($j=0; $row = sql_fetch_array($result); $j++){
?>
<option value="<?php echo $category_href?>&sfl=wr_1&stx=<?php echo $row['wr_1']?>&sca=<?php echo $row['ca_name']?>"">
<?php
echo $row['wr_1'];
?>
</option>
<?php }?>
</select>
위의 코드처럼 for문을 사용해서 데이터를 불러와 option값에 넣는 것을 하고 있는데
해당 select를 눌렀을때 그 데이터값을 가진 게시물을 검색하는 기능을 같이 하고 있습니다.
<script type="text/javascript">
$('#sel_change').on('change', function() {
location.href= this.value;
});
$('#sel_change').val(location.href);
</script>
밑의 스크립트를 이용하여서 바로 해당 데이터를 가지고 있는 글들만 검색이 되도록 하였습니다.
그런데 페이지가 새로고침이 되다보니 클릭했던 데이터가 없어지고 위의 option값인 전체라는
단어만 계속 나오는데 클릭했던 데이터를 유지하는 방법이 있을까요??
찾아봐서 저런식의 스크립트를 짜면 된다고했는데 안되네요..
조언 부탁드리겠습니다.
!-->
답변 3
전체적으로 코드를 다음과 같이 고쳐주는 것이 좋을 듯 합니다.
셀렉트 박스의 옵션 value 값은 wr_1 로 저장하는 것이 좋습니다.
<?php
$sql = "select wr_1,ca_name from g5_write_job_list group by wr_1";
$result = sql_query($sql);
?>
<select class="sch_input" id="sel_change">
<option value="#">전체</option>
<?php
for($j=0; $row = sql_fetch_array($result); $j++){
?>
<option value="<?php echo $row['wr_1'] ?>"><?php echo $row['wr_1'] ?></option>
<?php }?>
</select>
<script type="text/javascript">
$('#sel_change').on('change', function() {
var _href = '<?php echo $category_href ?>';
var _sca = '<?php echo $row['ca_name'] ?>';
location.href = _href + '&sfl=wr_1&stx=' + $(this).val() + '&sca=' + _sca;
});
$(function() {
$('#sel_change').val('<?php echo $stx ?>');
});
</script>
<option value="<?php echo $category_href?>&sfl=wr_1&stx=<?php echo $row['wr_1']?>&sca=<?php echo $row['ca_name']?>" <?php echo if($_GET['wr_1']==$row['wr_1']) echo "selected"?>>
쿠키(Cookie)를 이용하면 쉽게 구현 하실 수 있습니다.