수정할 때 select 에 value 값 나오게 하려고 합니다.

수정할 때 select 에 value 값 나오게 하려고 합니다.

QA

수정할 때 select 에 value 값 나오게 하려고 합니다.

본문

안녕하세요. 항상 도움 받고 있습니다. wr_1 select 에서 값을 선택하면 어떤 값인지에 따라서 wr_2 select 에 출력되는 값이 다르게 작업을 했는데요. 이 경우에는 수정 페이지에서 value 값을 표시를 해야 하는데 어떻게 코딩을 해야하는지 모르겠습니다. 어떻게 해야 할까요? 코드는 아래와 같습니다. 


<div class="form-group">
    <label class="col-sm-2 control-label" for="wr_1">호텔선택<strong class="sound_only">필수</strong></label>
    <div class="col-sm-4">
        <select name="wr_1" id="wr_1" style="width:100%;height:30px; line-height:30px;" onchange="updateRoomOptions()">
            <option value="선택" <?php echo ($write['wr_1'] == "") ? " selected" : "";?>>선택</option>
            <option value="오카다" <?php echo ($write['wr_1'] == "오카다") ? " selected" : "";?>>오카다</option>
            <option value="베이타워" <?php echo ($write['wr_1'] == "베이타워") ? " selected" : "";?>>솔레어 리조트 카지노 - 베이타워</option>
            <option value="스카이 타워" <?php echo ($write['wr_1'] == "스카이 타워") ? " selected" : "";?>>솔레어 리조트 카지노 - 스카이 타워</option>
            <option value="마닐라 COD" <?php echo ($write['wr_1'] == "마닐라 COD") ? " selected" : "";?>>마닐라 COD</option>
            <option value="마닐라 메리어트 호텔" <?php echo ($write['wr_1'] == "마닐라 메리어트 호텔") ? " selected" : "";?>>마닐라 메리어트 호텔</option>
            <option value="쉐라톤 마닐라 호텔" <?php echo ($write['wr_1'] == "쉐라톤 마닐라 호텔") ? " selected" : "";?>>쉐라톤 마닐라 호텔</option>
            <option value="호텔 오쿠라 마닐라" <?php echo ($write['wr_1'] == "호텔 오쿠라 마닐라") ? " selected" : "";?>>호텔 오쿠라 마닐라</option>
            <option value="힐튼 마닐라 호텔" <?php echo ($write['wr_1'] == "힐튼 마닐라 호텔") ? " selected" : "";?>>힐튼 마닐라 호텔</option>
        </select>
    </div>
    <label class="col-sm-2 control-label" for="wr_2">룸 종류<strong class="sound_only">필수</strong></label>
    <div class="col-sm-4">
        <select name="wr_2" id="wr_2" style="width:100%;height:30px; line-height:30px;">
        </select>
    </div>
</div>
 
<script>
function updateRoomOptions() {
    var hotelSelect = document.getElementById('wr_1');
    var roomSelect = document.getElementById('wr_2');
 
    roomSelect.innerHTML = '';
 
    switch (hotelSelect.value) {
        case '오카다':
            addOption(roomSelect, '디럭스룸 킹');
            addOption(roomSelect, '디럭스룸 트윈');
            addOption(roomSelect, '그랜드 디럭스 킹');
            addOption(roomSelect, '주니어 스위트');
            addOption(roomSelect, '프리미엄 스위트 킹');
            addOption(roomSelect, '프리미엄 스위트 더블');
            addOption(roomSelect, '이그제큐티브 스위트 킹');
            addOption(roomSelect, '이그제큐티브 스위트 더블');
            break;
        case '베이타워':
            addOption(roomSelect, '디럭스룸 킹');
            addOption(roomSelect, '디럭스룸 더블');
            addOption(roomSelect, '그랜드 디럭스 더블');
            addOption(roomSelect, '코너 그랜드 디럭스 킹');
            addOption(roomSelect, '프리미어 스위트');
            addOption(roomSelect, '프레스티지 스위트 베이');
            addOption(roomSelect, '그랜드 스위트');
            break;
        case '스카이 타워':
            addOption(roomSelect, '스카이 스튜디오 킹');
            addOption(roomSelect, '스카이 스튜디오 퀸');
            addOption(roomSelect, '프레스티지 스위트 스카이');
            addOption(roomSelect, '시그니처 스위트');
            addOption(roomSelect, '스카이 스위트');
            break;
        case '마닐라 COD':
            addOption(roomSelect, '미정');
            break;
        case '마닐라 메리어트 호텔':
            addOption(roomSelect, '디럭스룸 킹');
            addOption(roomSelect, '디럭스룸 더블');
            break;
        case '쉐라톤 마닐라 호텔':
            addOption(roomSelect, '디럭스룸 킹');
            addOption(roomSelect, '디럭스룸 더블');
            addOption(roomSelect, '1 베드룸 주니어 스위트');
            break;
        case '호텔 오쿠라 마닐라':
            addOption(roomSelect, '디럭스룸 킹');
            addOption(roomSelect, '디럭스룸 트윈');
            break;
        case '힐튼 마닐라 호텔':
            addOption(roomSelect, '게스트룸 킹');
            addOption(roomSelect, '게스트룸 더블');
            break;
    }
 
}

이 질문에 댓글 쓰기 :

답변 2

<script>

아래에 추가


<?php if ($w == 'u') { ?>
updateRoomOptions();
<?php } ?>

다음은 $write 값이 있다고 가정하고 동작시키는 방법중 하나입니다.


<?php
$write = [
    'wr_1' => '베이타워',
    'wr_2' => '코너 그랜드 디럭스 킹',
];
?>
<div class="form-group">
    <label class="col-sm-2 control-label" for="wr_1">호텔선택<strong class="sound_only">필수</strong></label>
    <div class="col-sm-4">
        <select name="wr_1" id="wr_1" style="width:100%;height:30px; line-height:30px;" onchange="updateRoomOptions()">
            <option value="선택" <?php echo ($write['wr_1'] == "") ? " selected" : "";?>>선택</option>
            <option value="오카다" <?php echo ($write['wr_1'] == "오카다") ? " selected" : "";?>>오카다</option>
            <option value="베이타워" <?php echo ($write['wr_1'] == "베이타워") ? " selected" : "";?>>솔레어 리조트 카지노 - 베이타워</option>
            <option value="스카이 타워" <?php echo ($write['wr_1'] == "스카이 타워") ? " selected" : "";?>>솔레어 리조트 카지노 - 스카이 타워</option>
            <option value="마닐라 COD" <?php echo ($write['wr_1'] == "마닐라 COD") ? " selected" : "";?>>마닐라 COD</option>
            <option value="마닐라 메리어트 호텔" <?php echo ($write['wr_1'] == "마닐라 메리어트 호텔") ? " selected" : "";?>>마닐라 메리어트 호텔</option>
            <option value="쉐라톤 마닐라 호텔" <?php echo ($write['wr_1'] == "쉐라톤 마닐라 호텔") ? " selected" : "";?>>쉐라톤 마닐라 호텔</option>
            <option value="호텔 오쿠라 마닐라" <?php echo ($write['wr_1'] == "호텔 오쿠라 마닐라") ? " selected" : "";?>>호텔 오쿠라 마닐라</option>
            <option value="힐튼 마닐라 호텔" <?php echo ($write['wr_1'] == "힐튼 마닐라 호텔") ? " selected" : "";?>>힐튼 마닐라 호텔</option>
        </select>
    </div>
    <label class="col-sm-2 control-label" for="wr_2">룸 종류<strong class="sound_only">필수</strong></label>
    <div class="col-sm-4">
        <select name="wr_2" id="wr_2" style="width:100%;height:30px; line-height:30px;">
        </select>
    </div>
</div>
 
<script>
function updateRoomOptions(roomSelectValue = '') {
    var hotelSelect = document.getElementById('wr_1');
    var roomSelect = document.getElementById('wr_2');
 
    roomSelect.innerHTML = '';
 
    switch (hotelSelect.value) {
        case '오카다':
            addOption(roomSelect, '디럭스룸 킹', roomSelectValue);
            addOption(roomSelect, '디럭스룸 트윈', roomSelectValue);
            addOption(roomSelect, '그랜드 디럭스 킹', roomSelectValue);
            addOption(roomSelect, '주니어 스위트', roomSelectValue);
            addOption(roomSelect, '프리미엄 스위트 킹', roomSelectValue);
            addOption(roomSelect, '프리미엄 스위트 더블', roomSelectValue);
            addOption(roomSelect, '이그제큐티브 스위트 킹', roomSelectValue);
            addOption(roomSelect, '이그제큐티브 스위트 더블', roomSelectValue);
            break;
        case '베이타워':
            addOption(roomSelect, '디럭스룸 킹', roomSelectValue);
            addOption(roomSelect, '디럭스룸 더블', roomSelectValue);
            addOption(roomSelect, '그랜드 디럭스 더블', roomSelectValue);
            addOption(roomSelect, '코너 그랜드 디럭스 킹', roomSelectValue);
            addOption(roomSelect, '프리미어 스위트', roomSelectValue);
            addOption(roomSelect, '프레스티지 스위트 베이', roomSelectValue);
            addOption(roomSelect, '그랜드 스위트', roomSelectValue);
            break;
        case '스카이 타워':
            addOption(roomSelect, '스카이 스튜디오 킹', roomSelectValue);
            addOption(roomSelect, '스카이 스튜디오 퀸', roomSelectValue);
            addOption(roomSelect, '프레스티지 스위트 스카이', roomSelectValue);
            addOption(roomSelect, '시그니처 스위트', roomSelectValue);
            addOption(roomSelect, '스카이 스위트', roomSelectValue);
            break;
        case '마닐라 COD':
            addOption(roomSelect, '미정', roomSelectValue);
            break;
        case '마닐라 메리어트 호텔':
            addOption(roomSelect, '디럭스룸 킹', roomSelectValue);
            addOption(roomSelect, '디럭스룸 더블', roomSelectValue);
            break;
        case '쉐라톤 마닐라 호텔':
            addOption(roomSelect, '디럭스룸 킹', roomSelectValue);
            addOption(roomSelect, '디럭스룸 더블', roomSelectValue);
            addOption(roomSelect, '1 베드룸 주니어 스위트', roomSelectValue);
            break;
        case '호텔 오쿠라 마닐라':
            addOption(roomSelect, '디럭스룸 킹', roomSelectValue);
            addOption(roomSelect, '디럭스룸 트윈', roomSelectValue);
            break;
        case '힐튼 마닐라 호텔':
            addOption(roomSelect, '게스트룸 킹', roomSelectValue);
            addOption(roomSelect, '게스트룸 더블', roomSelectValue);
            break;
    }
 
}
 
function addOption(el, value, selected = '') {
    if (el.options[el.options.length] == null) {
        el.options[el.options.length] = new Option(value, value, false, (value == selected));
    }
}
 
var wr_2_val = '';
<?php
if (empty($write['wr_2']) == false) {
    echo "wr_2_val = '{$write['wr_2']}';";
}
?>
updateRoomOptions(wr_2_val);
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 85
QA 내용 검색

회원로그인

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