Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как заставить итоговую цифру... (https://javascript.ru/forum/dom-window/20664-kak-zastavit-itogovuyu-cifru.html)

sergiocharm 15.08.2011 22:49

ну да:) ... обвиняют меня тут http://javascript.ru/forum/job/20678...ogrammist.html
devote,
подскажи всё таки как поле total_box вставить ? а главное правильно... Плиз

sergiocharm 15.08.2011 22:51

у меня щас он метры суммирует http://www.allremont59.ru/obem-vodyi...oprovodah.html, а как сделать чтобы литры суммировал?

sergiocharm 15.08.2011 23:03

добавил в конце каждой таблички
<tr>
<td align="center"><strong>Всего воды</strong></td> 
<td align="center"></td>
<td align="center"><input name="total_box" id="total_box" size="8"/></td>
</tr>

теперь при вводе суммирует (метры, но не литры) в первую таблицу))), что не так?

devote 16.08.2011 00:09

var total_m = 0,
    total_l = 0;
    for(var key in data) { 
        total_m += parseFloat(document.getElementById("input" + key).value.replace(/,/, '.')) || 0; 
        total_l += parseFloat(document.getElementById("output" + key).value.replace(/,/, '.')) || 0; 
    } 
    document.getElementById("total_box_m").value = total;
    document.getElementById("total_box_l").value = total;

devote 16.08.2011 00:12

ох ё, у тебя там 6 полей должно быть с общей суммой чтоль?

devote 16.08.2011 00:25

var k, i, total_m, total_l ,
    boxes = [
      ['A', 'B', 'C', 'D'],
      ['F', 'G', 'H', 'J'],
      ['K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T']
    ];

for( k = 0; k < boxes.length; k++ ) {
    total_m = 0;
    total_l = 0;
    for( i = 0; i < boxes[ k ].length; i++ ) {
        total_m += parseFloat(document.getElementById("input" + boxes[ k ][ i ]).value.replace(/,/, '.')) || 0;
        total_l += parseFloat(document.getElementById("output" + boxes[ k ][ i ]).value.replace(/,/, '.')) || 0;
    }
    document.getElementById("total_box" + k + "_m").value = total_m;
    document.getElementById("total_box" + k + "_l").value = total_l;
}


<input id="total_box0_m" size="8"/>
<input id="total_box0_l" size="8"/>

<input id="total_box1_m" size="8"/>
<input id="total_box1_l" size="8"/>

<input id="total_box2_m" size="8"/>
<input id="total_box2_l" size="8"/>

sergiocharm 16.08.2011 01:40

я так понимаю пришлось целый массив создавать

NoNickName 26.03.2017 15:15

Цитата:

Сообщение от sergiocharm (Сообщение 120226)
доброе утро всем....
подскажите как от нулей избавиться (при расчете в одной строке в другие ячейки автоматом нули проставляются) в вышеуказанном коде

function floorToDigit(dig, acc){
return Math.round(dig/acc)*acc
}
//Возвращает число, округленное с шагом acc
//То есть если мы введем floorToDigit(13, 5) то она нам вернет 15
//
//10 5 => 10
//1 7 => 1
//5 7 => 7
//7 7 => 7


Часовой пояс GMT +3, время: 14:29.