라디오 합산 하는데...

라디오 합산 하는데...

QA

라디오 합산 하는데...

본문

라디오 버튼 #<?php echo $i?>_3 을 클릭하면

#e<?php echo $i?>_4 값의 합산값을 #h1_2 넣는것입니다.

잘 됩니다. 그런데 

클릭할 때마다 합산되어 코드가 잘못된거 같습니다.

 

방법이 없을까요?

 

  <script>

 
var sum = 0;
<?php

for ($i = 1, $wr=73; $i <=15; $i++, $wr+=7) {

?>


$('#<?php echo $i?>_3').on('click', function() { 
    
    $('#e<?php echo $i?>_4').each( function() {
        sum += Number($(this).val());
    });
    $('#h1_2').val(sum.toFixed(2)); 
});


<?

}

?>

</script>

이 질문에 댓글 쓰기 :

답변 3

예전에 중복체크 가능한 체크박스들 값을 합산 매긴 적이 있는데...

 

전 클릭이벤트로 하지않고 체인지 이벤트로 해서...

 

체크가 되면 체크된 value 값을 += 처리하고 체크가 해제되면 value 값을 -= 처리하는 식으로 구현했던 기억이 나네요...

 


// 이건 제가 짰던 코드 그대로 복붙한건데...
// 그대로 가져다가 마크업에 맞게 선택자 수정해서 써도.. 될지는 모르겠네요...;;
$(el).find('li').each(function(j, el){
    var $check = $(this).find('input');
   
    $check.on('change', function(){
        if($(this).is(':checked'))
            score += parseInt($(this).val());
        else
            score -= parseInt($(this).val());
    });
});

`sum` 을 on click event 처리루틴 안쪽에 넣어보세요.


    ...
    $('#<?php echo $i?>_3').on('click', function() {
        var sum = 0;
         ...

    $('#e<?php echo $i?>_4').each( function() { <---이 구문 자체가 용도가 틀린 것 같군요

each라는 것이 class='abc' 같이 하여 여러개가 있을 때 사용하는 것이지

#e1_4 라면 id를 나타내는 것일텐데 id라면 하나 밖에 없을테고 each를 사용하지는 않죠

for문을 없애고 1_3 ~ 15_3 은 class='a'

e1_4 ~ e15_4 는 class='b' 이렇게 부여한 후 아래처럼 하면 됩니다

 

$(funcrion(){

$('.a').on('click', function() {    

  sum=0;
    $('.b').each( function() {
        sum += Number($(this).val());
    });
    $('#h1_2').val(sum.toFixed(2)); 
});

});

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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