2016-06-08 1 views
0

내가 자바 스크립트를 사용하여 하나 개의 입력 필드와 많은 계산 된 출력 필드가가 : This is output screenshot it's calculated problem하나의 입력 필드와 많은 출력 필드 합계를 올바르게 계산하는 방법은 무엇입니까?

이 라이브 미리보기 : http://in-technologii.com/JinChoe/exp2/는 "연간 청구 금액에 대한 자료 : $ [입력 값]"이 링크 입력을 갈 경우 적절한 값에 대해 계산되지 않은 모든 출력 값을보십시오. 나는 너무 피곤하다.

function unit_val(){ 
var arr = document.getElementsByName('unit_val'); 
var unit_val_tot=0; 
for(var i=0;i<arr.length;i++){ 
    if(parseInt(arr[i].value)) 
     unit_val_tot += parseInt(arr[i].value); 
     unit_val_tots =unit_val_tot.toFixed(2); 
} 
document.getElementById('total_amount').value = unit_val_tots; 
document.getElementById('total_amount2').value = unit_val_tots; 
} 

또는보기 페이지 소스 코드를 확인 : 난 내 코드에서 여기에 출력 적절한 값 에 방법이 필요합니다.

+0

당신은 모든 행과 필드의 이름과 ID를 하드 코딩하고 수백 거기에 그대로 것 같다. 당신이 피곤하지 않은 것은 당연합니다. 난 테이블을 반복하고 CSS 선택기를 사용하고'jQuery'와 같은 라이브러리를 사용하여 필드를 반복하고 액세스하고 값을 가져 오거나 설정하는 것이 좋습니다. – phreakv6

+0

문제를 이해할 수 없습니다. 조금 설명 할 수 있니? – Chinni

+0

여기에 올바른 값이 무엇입니까? – chungtinhlakho

답변

0

는 그것을 시도 나는 당신을 위해 도움이 생각 :

function unit_val(){ 
 
    var arr = document.getElementsByName('unit_val'); 
 
    var unit_val_tot=0; 
 
    for(var i=0;i<arr.length;i++){ 
 
     if(parseFloat(arr[i].value)) 
 
      unit_val_tot += parseFloat(arr[i].value); 
 
      unit_val_tots =unit_val_tot.toFixed(2); 
 
    } 
 
    document.getElementById('total_amount').value = unit_val_tots; 
 
    document.getElementById('total_amount2').value = unit_val_tots; 
 
}

0

나는보고있는 내용에 따라 parseint 때문에 총계가 잘못되었습니다. 당신은 값이 십진수이고, parseInt가 정수가되어 당신이 조금 벗어났습니다.

function unit_val(){ 
var arr = document.getElementsByName('unit_val'); 
var unit_val_tot=0; 
for(var i=0;i<arr.length;i++){ 
    if(parseInt(arr[i].value)) 
     unit_val_tot += arr[i].value; 
     unit_val_tots =unit_val_tot.toFixed(2); 
} 
document.getElementById('total_amount').value = unit_val_tots; 
document.getElementById('total_amount2').value = unit_val_tots; 
} 
관련 문제