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

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

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

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

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

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

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

좀 수정 좀 부탁드립니다

Copy
<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개

채택된 답변
+20 포인트

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

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

 

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

<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);
}
}
이렇게 하면 되나요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고