Сообщение от amd3000
|
Вариант предложеный во втором сообщении не работает в виду того что 2 колонки с тегом input. Мои потуги сделать что-либо подобное с getElementsByName и getElementsByClassName привели к нулевому результату.
|
учись путешествовать по DOM, эту задачу ты должен дорешать сам и выложить результат, иначе
Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума
"Работа"
вот тебе вариант через делегирование событий
<form id="RecountForm">
<table class="table">
<tr><th>Базовая Цена</th> <th>Наценка</th> <th>Цена</th> </tr>
<tr><td id="cena1">11</td><td><input class="inp" value="22"></td><td id="result1"></td></tr>
<tr><td id="cena2">10</td><td><input class="inp" value="23"></td><td id="result2"></td></tr>
<tr><td id="cena3">15</td><td><input class="inp" value="24"></td><td id="result3"></td></tr>
<tr><td id="cena4">20</td><td><input class="inp" value="25"></td><td id="result4"></td></tr>
</table>
</form>
<script>
(function() {
function calcFromInput(target) {
var parent = target.parentNode;
parent.nextElementSibling.innerHTML = target.value * parent.previousElementSibling.innerHTML;
}
document.getElementsByClassName("table")[0].oninput = function (e) {
var target = e.target;
if (target.tagName == "INPUT") {
calcFromInput(target);
}
}
function init() {
var inputs = document.getElementsByClassName("inp");
var length = inputs.length;
for (var i = 0; i < length; i++) {
calcFromInput(inputs[i]);
}
}
init();
})();
</script>