Сообщение от amd3000
|
Как-бы работает. но есть одно НО!!!
Всё работает если менять данные в столбце Базовая цена.
Как вызвать функцию перещёта ещё и по изменению в столбце Наценка?
|
не сложно, не так ли?
<form id="RecountForm">
<table class="table">
<tr><th>Наценка</th><th>Базовая Цена</th><th>Цена</th></tr>
<tr><td><input id="n1" type="text" value="22"></td><td><input value="1.5"></td><td id="result1"></td></tr>
<tr><td><input id="n2" type="text" value="23"></td><td><input value="1.3"></td><td id="result2"></td></tr>
<tr><td><input id="n3" type="text" value="24"></td><td><input value="1.1"></td><td id="result3"></td></tr>
<tr><td><input id="n4" type="text" value="25"></td><td><input value="1.2"></td><td id="result4"></td></tr>
</table>
</form>
<script>
(function() {
var table = document.getElementsByClassName("table")[0];
function calcFromInput(target) {
var grandparent = target.parentNode.parentNode;
var inputs = grandparent.querySelectorAll("input");
grandparent.children[2].innerHTML = Math.ceil(inputs[0].value * inputs[1].value);
}
table.oninput = function (e) {
var target = e.target;
if (target.tagName == "INPUT") {
calcFromInput(target);
}
}
function init() {
var inputs = table.querySelectorAll("input");
var length = inputs.length;
for (var i = 0; i < length; i++) {
calcFromInput(inputs[i]);
}
}
init();
})();
</script>