라디오 합산 하는데... 채택완료
라디오 버튼 #_3 을 클릭하면
#e_4 값의 합산값을 #h1_2 넣는것입니다.
잘 됩니다. 그런데
클릭할 때마다 합산되어 코드가 잘못된거 같습니다.
방법이 없을까요?
var sum = 0;
for ($i = 1, $wr=73; $i <=15; $i++, $wr+=7) {
?>
$('#_3').on('click', function() { $('#e_4').each( function() { sum += Number($(this).val()); }); $('#h1_2').val(sum.toFixed(2)); });
}
?>
답변 3개
예전에 중복체크 가능한 체크박스들 값을 합산 매긴 적이 있는데...
전 클릭이벤트로 하지않고 체인지 이벤트로 해서...
체크가 되면 체크된 value 값을 += 처리하고 체크가 해제되면 value 값을 -= 처리하는 식으로 구현했던 기억이 나네요...
</p>
<p>// 이건 제가 짰던 코드 그대로 복붙한건데...</p>
<p>// 그대로 가져다가 마크업에 맞게 선택자 수정해서 써도.. 될지는 모르겠네요...;;</p>
<p>$(el).find('li').each(function(j, el){
var $check = $(this).find('input');</p>
<p> </p>
<p> $check.on('change', function(){
if($(this).is(':checked'))
score += parseInt($(this).val());
else
score -= parseInt($(this).val());
});
});</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
$('#e_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)); });
});
답변에 대한 댓글 3개
어떤 작동을 원하나요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
참고해보겠습니다.