값을 셀렉트에 전달시 선택되게 하려면

값을 셀렉트에 전달시 선택되게 하려면

QA

값을 셀렉트에 전달시 선택되게 하려면

본문

하고싶은것은 '사과'라는 a링크를 클릭하면 

게시판의 글쓰기페이지로 이동하면서

'사과'가 미리 선택되게 하고자 합니다. 

 

그래서 아래와 같이

값을 전달하고 셀렉트에서 값을 받아서 선택되게끔 했는데

'사과'하나만 놓고는 선택이 잘 되는데 

다른옵션들이 들어가면 먹통이 되는데 

어디가 문제일까요?

 


<a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=free&code6=사과>사과</a>
 

<select name="wr_6" class="form-control"  id="wr_6" required>
                <option value="">선택해주세요.</option>
                
                <option value="<?php echo ($w == 'u')? $write['wr_6'] : $_GET['code6'] ?>" <?php echo ($write['wr_6'] == "사과") ? "selected" : "" ;?>>사과</option> 
                <option value="<?php echo ($w == 'u')? $write['wr_6'] : $_GET['code6'] ?>" <?php echo ($write['wr_6'] == "딸기") ? "selected" : "";?>>딸기</option>
                <option value="<?php echo ($w == 'u')? $write['wr_6'] : $_GET['code6'] ?>" <?php echo ($write['wr_6'] == "석류") ? "selected" : "";?>>석류</option>
                <option value="<?php echo ($w == 'u')? $write['wr_6'] : $_GET['code6'] ?>" <?php echo ($write['wr_6'] == "단감") ? "selected" : "";?>>단감</option>
                
              </select>
            <script>
            // value 값으로 선택
            $("#wr_6").val("사과").prop("selected", true);
            $("#wr_6").val("딸기").prop("selected", true);
            $("#wr_6").val("석류").prop("selected", true);
            $("#wr_6").val("단감").prop("selected", true);
            </script>

 

이 질문에 댓글 쓰기 :

답변 2

위에 a 링크는 board.php 가 아니고 write.php 맞죠?

셀렉트 박스를 저렇게 하시면 value 값이 모두 똑같게 됩니다. 그래서 인식을 못하는거죠.

select option value 값도 글쓰기나 수정일시 고정이기 때문에 그냥 value만 넣으심 되구요,

그리고 제이쿼리도 간소화할 필요가 있습니다.


                <option value="사과" <?php echo ($write['wr_6'] == "사과") ? "selected" : "" ;?>>사과</option> 
                <option value="딸기" <?php echo ($write['wr_6'] == "딸기") ? "selected" : "";?>>딸기</option>
                <option value="석류" <?php echo ($write['wr_6'] == "석류") ? "selected" : "";?>>석류</option>
                <option value="단감" <?php echo ($write['wr_6'] == "단감") ? "selected" : "";?>>단감</option>
 
            <script>
            // value 값으로 선택
            <?php if($w==''){ ?>
            $("#wr_6").val("<?php echo $_GET['code6'] ?>").prop("selected", true);
            <?php } ?>
            </script>

글쓰기라면 $w == 'u' 때문에 파라미터 code6 을 참조해서 모두 같은 값을 가질것 같은데요

그리고 PHP로 서버단에서 처리했는데... 또 브라우저단에서 처리하시면 옵션값이 나열된 값이 모두 정상적으로 선언되어 있다면 서버에서 값을 사과로 변경했다고 해도 브라우저에서 단감으로 변경될것 같은데요

 

서버단에서 처리하실꺼면 아래코드를 참조해서 수정해주시고요, 브라우저단에서 처리하실꺼면 히든폼으로 code6 값을 넘겨받거나 URL에서 code6 값를 추출해서 처리하시는게 맞는것 같습니다.

특별한 경우가 아니라면 두곳에서 같은 처리를 하는건 별로 좋은것 같지 않습니다.

 


if (! isset($_GET['code6']) && empty($_GET['code6']) {
    $code6 = '';
}
 
<option value="사과" <?php if (($w == 'u' && $write['wr_6'] == '사과') || $code6 == '사과') echo "selected"; ?>>사과</option> 
답변을 작성하시기 전에 로그인 해주세요.
전체 123,531 | RSS
QA 내용 검색

회원로그인

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