2016-06-08 2 views
0

У меня есть одно поле ввода и много вычисленных выходного поля с помощью JavaScript: This is output screenshot it's calculated problemКак правильно рассчитать одно поле ввода и много суммирования выходного поля?

Это предварительный просмотр: http://in-technologii.com/JinChoe/exp2/ если вы идете по этой ссылке и вход «Base на вашей годовой сумме счета: $ [ввести любое значение]» и см. все выходные значения, которые он не рассчитал для правильного значения. Я так устал. мне нужно, как выводить нужное значение здесь, в моем коде:

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

Вы, кажется, зашиты имена и идентификаторы всех строк и полей, и есть буквально сотни из них. Неудивительно, что вы устали. Я предлагаю вам перебирать таблицу и использовать селектор 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; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^