버튼클릭시 선택된 라디오 값들의 합계를 보여주고 싶어요

버튼클릭시 선택된 라디오 값들의 합계를 보여주고 싶어요

QA

버튼클릭시 선택된 라디오 값들의 합계를 보여주고 싶어요

답변 3

본문

안녕하세요

버튼클릭시 선택된 라디오 값들의 합계를 보여주고 싶어요

 

 


    <form id="myform" name="form">
        <table>
            <tr>
                <td>1</td>
                <td>가끔씩 몸이 저리고 쑤시며 감각이 마비된 느낌을 받는다.</td>
                <td style="text-align: center">
                    <input type="radio" name="01" value="0">
                </td>
                <td>
                    <input type="radio" name="01" value="1">
                </td>
                <td>
                    <input type="radio" name="01" value="2">
                </td>
                <td>
                    <input type="radio" name="01" value="3">
                </td>
            </tr>
            <tr>
                <td>2</td>
                <td>우울한 느낌을 받는다.</td>
                <td style="text-align: center">
                    <input type="radio" name="02" value="0">
                </td>
                <td>
                    <input type="radio" name="02" value="1">
                </td>
                <td>
                    <input type="radio" name="02" value="2">
                </td>
                <td>
                    <input type="radio" name="02" value="3">
                </td>
            </tr>
            <tr>
            <tr>
                <td colspan="2">합계 점수</td>
                <td colspan="4">
                    <div class="total_sum"></div>
                </td>
            </tr>
        </table>
        <input type="button" value="button">자가심리검사</button>
    </form>
 

이 질문에 댓글 쓰기 :

답변 3

<input type="button" value="button">자가심리검사</button> ====> <button type="button">자가심리검사</button>

 


$("button").on("click", function() {
    let sum = 0;
    $.each($("input[type='radio']:checked"), function() {
        sum += Number($(this).val()) || 0;
    });
    $(".total_sum").text(sum);
});

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Jasko Sample Script </TITLE>
<style>
body,td {font-size:12px}
</style>
<!----- 1. 아래의 스크립트를 HEAD 부분에 붙여 넣으세요 -------->
<SCRIPT LANGUAGE="JavaScript">
<!--
function CheckChoice(whichbox) {
with (whichbox.form) {
if (whichbox.type == "radio") {
hiddentotal.value = eval(hiddentotal.value) - eval(hiddenpriorradio.value);
hiddenpriorradio.value = eval(whichbox.price);
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.price);
}
else {
if (whichbox.checked == false) {
hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value);
}
else {
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value);
   }
}
if (hiddentotal.value < 0) {
InitForm();
}
return(formatCurrency(hiddentotal.value));
   }
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
return (num + "원");
}
function InitForm() {
document.myform.total.value='0원';
document.myform.hiddentotal.value=0;
document.myform.hiddenpriorradio.value=0;
/* 항목을 추가하려면 아래의 방식으로 추가 할 수 있습니다
document.myform2.total.value='0원';
document.myform2.hiddentotal.value=0;
document.myform2.hiddenpriorradio.value=0;
document.myform2.hiddenpriorradio.value=0;
*/
for (xx=0; xx < document.myform.elements.length; xx++) {
if (document.myform.elements[xx].type == 'checkbox' | document.myform.elements[xx].type == 'radio') {
document.myform.elements[xx].checked = false;
   }
}
/*
for (xx=0; xx < document.myform2.elements.length; xx++) {
if (document.myform2.elements[xx].type == 'checkbox' | document.myform2.elements[xx].type == 'radio') {
document.myform2.elements[xx].checked = false;
      }
   }
*/
}
//-->
</script>
<!------------------ 여기까지 --------------->
</HEAD>
<!----- 2. BODY 태그안에 아래의 이벤트 핸들러를 붙여 넣으세요 -->
<BODY onLoad="InitForm();" onreset="InitForm();">
<!----- 3. 원하는 위치에 아래와 같이 코드를 붙여 넣으세요 ------->
<p><B>메뉴를 선택 해 주세요</B>
<p>
<form method=POST name=myform>
스테이크 20,000원
<input type=checkbox name=Steak value=20000 onClick="this.form.total.value=CheckChoice(this);">
치킨 9,000원
<input type=checkbox name=Chicken value=9000 onClick="this.form.total.value=CheckChoice(this);">
돈까스 5,000원
<input type=checkbox name=don value=5000 onClick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<hr>
<p>
<b>디저트를 신청 하세요 (한가지만 신청 가능합니다)</b>
<p>
아니요, 됐습니다
<input type=radio name=Sauce value=none price=0 onClick="this.form.total.value=CheckChoice(this);">
콜라 2,000원
<input type=radio name=Sauce value=coke price=2000 onClick="this.form.total.value=CheckChoice(this);">
주스 5,000원
<input type=radio name=Sauce value=juice price=5000 onClick="this.form.total.value=CheckChoice(this);">
아이스크림 3,000원
<input type=radio name=Sauce value=icecream price=3000 onClick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<hr>
<p>
<input type=hidden name=hiddentotal value=0>
<input type=hidden name=hiddenpriorradio value=0>
총 금액은 : <input type=text name=total readonly> 입니다
</font>
</form>
<!------------------ 여기까지 -------------->
</BODY>
</HTML>

 

위 소스 응용해보세요~

이렇게하면? 안될가용

라디오에  class="test_radio" 붙이고


const radios = document.querySelectorAll(".test_radio");
    radios.forEach((e) => {
        e.addEventListener("click", sumRadio);
    });
    function sumRadio() {
        let sumTotal = 0;
        radios.forEach((e) => {
            if (e.checked) {
                sumTotal += parseInt(e.value);
            }
        });
        document.querySelector(".total_sum").innerHTML = sumTotal;
        console.log(sumTotal);
    }
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,020
© SIRSOFT
현재 페이지 제일 처음으로