선배님들 덕분에 길이 보이는 듯한데 또 막혔습니다 ㅠ_ㅠ

선배님들 덕분에 길이 보이는 듯한데 또 막혔습니다 ㅠ_ㅠ

QA

선배님들 덕분에 길이 보이는 듯한데 또 막혔습니다 ㅠ_ㅠ

본문

어리석은 질문들에도 친절히 답변해주신 선배님들 덕분에 길이 조금 보이는 듯합니다.

이제 마무리 단계인데.....

최종 금액을 만드는 과정이 남아 있습니다.

 

아래 코드와 같이 값을 넘겨 받게 됩니다.

select1 = 방값, select2 = 인원, select3 = 할인

입니다.

(HTML만 겨우 볼줄 아는 제 실력으로는 select3가 정상적인지는 잘 모르겠습니다 ㅠ_ㅠ)

 

어째튼 input4에 "(인원*방값)-(인원*(할인)" 값을 넣어주려고 합니다.

이럴때 어떻게 식을 어떻게 수정해야 할까요?

(9라는 숫자는 원래 8번 식사인데 1이 더 카운트되어 넣은 숫자입니다..)

 

 


<script>
    function room_choice(text_value){
        var num_value = '';
        if(text_value=='2인실'){
            num_value = 280,000;
        }else if(text_value=='4인실'){
            num_value = 190,000;
        }
        document.querySelector("#select1_num").value = num_value;
    }
    function family_num(text_value){
        var num_value = '';
        if(text_value=='본인'){
            num_value = 1;
        }else if(text_value=='본인과 배우자'){
            num_value = 2;
        }else if(text_value=='3인 가족'){
            num_value = 3;
        }else if(text_value=='4인 가족'){
            num_value = 4;
        }else if(text_value=='5인 가족'){
            num_value = 5;
        }
        document.querySelector("#select2_num").value = num_value;
    }
    function itemSum(frm){
        var sum = 0;
        var count = frm.chkbox.length;
        for(var i=0; i < count; i++ ){
        if( frm.chkbox[i].checked == true ){
        sum += parseInt(frm.chkbox[i].value);
        }

        document.querySelector("#select3_num").value = 10000*(9-frm.querySelectorAll("input:checked").length);
    }
}

function itemSum(frm)
{
   frm.input4.value =                         ;
 }
//-->
</script>

이 질문에 댓글 쓰기 :

답변 3

select1 = 방값, select2 = 인원, select3 = 할인

(인원*방값)-(인원*(할인))

 

할인은 알아서 소수로 처리하셨다는 가정으로 곱처리 하여 작성해드리겠습니다.

다만, 이 코드를 보시고 왜 이렇게 되는가를 잘 이해하시고 공부하시는데 도움이 되셨으면 좋겠습니다.

 


var num_room = document.querySelector("#select1_num").value;
var num_peaple = document.querySelector("#select2_num").value;
var num_discount = document.querySelector("#select3_num").value;

// 만약 할인율이 정수라면 100 나누기 처리
if(num_discount > 0){
   num_discount /= 100; // or num_discount * 0.01
}
frm.input4.value = (num_peaple * num_room) - (num_peaple * num_discount);

 

하다보니 할인율 정수일 때 if처리도 들어갔는데, 일단 이런 식을 원하신게 맞는지 궁금하군요!

저거 영 힘드시면 제이쿼리로 하는게 빠르겠어요.. 

num_value = 280,000;

num_value = 280000;

이렇게 쓰셔야 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 946
QA 내용 검색

회원로그인

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