선택된 창관련 내용으로 다른 선택창도 바뀌게 하고싶습니다

선택된 창관련 내용으로 다른 선택창도 바뀌게 하고싶습니다

QA

선택된 창관련 내용으로 다른 선택창도 바뀌게 하고싶습니다

본문

밑에 코드처럼 cf_4 서울 경기가 들어가있습니다

그리고 bo_6 강남,명동 등 서울 관련 지역이 들어가있고

bo_7에 의정부 등 경기도 과련 지역이 들어가있습니다

그런데 select 박스가 두개로 되어있는데 input1 선택창이 서울로 되면

input3선택창이 선택된 서울관련 강남 명동 input1선택창이 경기도로 되면

input3선택창이 선택된 경기도관련 의정부로 바뀌게 하고 싶은데

좀 수정 좀 부탁드립니다


<select name="tags" id="tags" onchange="optChg()" class="input1">
        <option value="" <?php if( $write['tags'] == ""){ echo " selected "; }?>>Select</option>
                        <?php
                            $arrTag = explode(",", $config['cf_4'] );
                            foreach( $arrTag as $key => $val ){
                            echo ' <option value="'.$val.'" ';
                            if( $write['tags'] == $val){ echo " selected "; }
                            echo '>'.$val.'</option>';
                            }
                        ?>
    </select>
        <tr>
                <td class="head"><div style="position:absolute; top:15px; left:0px; color:#cc0000">*</div>주소</td>
                <td>
                    <select id="wr_10" name="wr_10" class="input3">
                        <option value="" <?php if( $write['tags'] == ""){ echo " selected "; }?>>Select</option>
                        <?php
                            $arrTag = explode(",", $board['bo_6']);
                            foreach( $arrTag as $key => $val ){
                            echo ' <option value="'.$val.'" ';
                            if( $write['wr_10'] == $val){ echo " selected "; }
                            echo '>'.$val.'</option>';
                            }
                        ?>
                    <?php
                            $arrTag = explode(",", $board['bo_7']);
                            foreach( $arrTag as $key => $val ){
                            echo ' <option value="'.$val.'" ';
                            if( $write['wr_10'] == $val){ echo " selected "; }
                            echo '>'.$val.'</option>';
                            }
                        ?>
                    </select>
                    <input id="wr_11" name="wr_11" class="input" type="text" placeholder="Address" value="<?php echo $write['wr_11']?>">
                </td>
            </tr>

<script>
function optChg(){
    var tags = $("#tags").val();
    if (tags=="서울"){
        $('.input1').hide();
        $('.bo_6').show();
    }else if (tags=="경기"){
        $('.input1').hide();
        $('.bo_7').show();
    } 
}
</script>
 

이 질문에 댓글 쓰기 :

답변 1

한번에 bo_6와 bo_7을 저렇게 select박스에 option으로 집어넣기 전에...

javascript의 데이터(array, json등)로 먼저 셋팅을 해두고 위에서 보이는 optChg()함수에서 tags의 val에 따라 옵션을 다시 셋팅해주는 형태로 짭니다...

 

http://yamea-guide.tistory.com/85

위 페이지 참조해서 한번 시도해보시기 바랍니다^^ 그렇게 어렵진 않아요~

<select name="tags" id="tags" onchange="optChg()" class="input1">
        <option value="" <?php if( $write['tags'] == ""){ echo " selected "; }?>>Select</option>

                        <?php
                            $arrTag = explode(",", $config['cf_4'] );
                            foreach( $arrTag as $key => $val ){
                            echo ' <option value="'.$val.'" ';
                            if( $write['tags'] == $val){ echo " selected "; }
                            echo '>'.$val.'</option>';
                            }
                        ?>
    </select>
        <tr>
                <td class="head"><div style="position:absolute; top:15px; left:0px; color:#cc0000">*</div>주소</td>
                <td>

                    <select id="wr_10" name="wr_10" class="input3">
                        <option value="" <?php if( $write['tags'] == ""){ echo " selected "; }?>>Select</option>
                        <?php
                            $arrTag = explode(",", $board['bo_6']);
                            foreach( $arrTag as $key => $val ){
                            echo ' <option value="'.$val.'" ';
                            if( $write['wr_10'] == $val){ echo " selected "; }
                            echo '>'.$val.'</option>';
                            }
                        ?>
                    <?php
                            $arrTag = explode(",", $board['bo_7']);
                            foreach( $arrTag as $key => $val ){
                            echo ' <option value="'.$val.'" ';
                            if( $write['wr_10'] == $val){ echo " selected "; }
                            echo '>'.$val.'</option>';
                            }
                        ?>
                    </select>
                    <input id="wr_11" name="wr_11" class="input" type="text" placeholder="Address" value="<?php echo $write['wr_11']?>">
                </td>
            </tr>
<script>
function optChg(){
    var tags = $("#tags").val();
var changeItem;
    if (tags=="서울"){
      changeItem = $board['bo_6'];
    }else if (tags=="경기"){
      changeItem = $board['bo_7'];
    }
$('.input3').empty();
 
 for(var count = 0; count < changeItem.size(); count++){               
                var option = $("<option>"+changeItem[count]+"</option>");
                $('.input3').append(option);
            }
}

답변을 작성하시기 전에 로그인 해주세요.
전체 2

회원로그인

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