키입력시 콤마제거 후 자동계산 하기 채택완료
</p>
<p>$(function() {
$('input.num_sum').on('keyup', function() {
if ($(this).val() != null && $(this).val() != '') {
var tmps = parseInt($(this).val().replace(/[^0-9]/g, '')) || '0';
var tmps2 = tmps.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
$(this).val(tmps2);
}
});
var cnt = $(".tg input.num_sum").length;</p>
<p> for( var i=1; i< cnt; i++){
var sum = parseInt($(this).val() || 0 );
sum++
}
var sum1 = parseInt($("#wr_8").val() || 0 );
var sum2 = parseInt($("#wr_9").val() || 0);
var sum3 = parseInt($("#wr_10").val() || 0);
var sum4 = parseInt($("#wr_11").val() || 0);
var sum5 = parseInt($("#wr_30").val() || 0);
var sum6 = parseInt($("#wr_31").val() || 0);
var sum7 = parseInt($("#wr_32").val() || 0);
var sum8 = parseInt($("#wr_33").val() || 0);
var sum9 = parseInt($("#wr_34").val() || 0);
var sum10 = parseInt($("#wr_35").val() || 0);
var sum11 = parseInt($("#wr_14").val() || 0);</p>
<p> for( var i=1; i< 12; i++){ //콤마제거
var sum+i = str.replace(/,/g,"");
}
var sum = sum1 - sum2 - sum3 - sum4 - sum5 - sum6 - sum7 - sum8 - sum9 - sum10 - sum11; //총 합계 구하기</p>
<p> $("#wr_12").val(sum);
});
});
</p>
<p>
위와같이 짰는데 콤마제거가 되지 않습니다.
어찌해야 할까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
답변에 대한 댓글 1개
m
mostech
6년 전
댓글을 작성하려면 로그인이 필요합니다.
mostech
6년 전
자답입니다.
실시간으로 input 값을 콤마로 입력 받아서 콤마 제거 후 int로 변환해서 계산한 후 최종값을 다시 콤마 넣고 나오는 소스입니다.
parseInt() 함수가 정수형이므로 콤마 계산이 불가 했습니다.
</p>
<p> function comma(str) {//콤마찍기
str = String(str);
return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
}</p>
<p> function uncomma(str) {//콤마풀기
str = String(str);
return str.replace(/[^\d]+/g, '');
}</p>
<p>$(function(){
$('input.num_sum').on('keyup',function(){
if ($(this).val() != null && $(this).val() != '') {
var tmps = parseInt($(this).val().replace(/[^0-9]/g, '')) || '0';
var tmps2 = tmps.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
$(this).val(tmps2);
}</p>
<p> var sum1 = parseInt(uncomma($("#wr_8").val()) || 0 ); // input 값을 가져오며 계산하지만 값이 없을경우 0이 대입된다 뒷부분에 ( || 0 ) 없을경우 합계에 오류가 생겨 NaN 값이 떨어진다
var sum2 = parseInt(uncomma($("#wr_9").val()) || 0);
var sum3 = parseInt(uncomma($("#wr_10").val()) || 0);
var sum4 = parseInt(uncomma($("#wr_11").val()) || 0);
var sum5 = parseInt(uncomma($("#wr_30").val()) || 0);
var sum6 = parseInt(uncomma($("#wr_31").val()) || 0);
var sum7 = parseInt(uncomma($("#wr_32").val()) || 0);
var sum8 = parseInt(uncomma($("#wr_33").val()) || 0);
var sum9 = parseInt(uncomma($("#wr_34").val()) || 0);
var sum10 = parseInt(uncomma($("#wr_35").val()) || 0);
var sum11 = parseInt(uncomma($("#wr_14").val()) || 0);</p>
<p> var sum = sum1 - sum2 - sum3- sum4 - sum5 - sum6 - sum7 - sum8 - sum9 - sum10 - sum11;
sum = comma(sum);
$("#wr_12").val(sum);
});</p>
<p>});
</p>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
채택
채택
채택
채택
채택
채택
답변대기
채택
채택
채택
답변대기
채택
채택
답변대기
채택
채택
채택
채택
이렇게 바꾸어도 안되네요.
콤마제거해서 계산후 다시 콤마를 찍어야 하는데 ㅜㅜ