【发布时间】:2016-06-30 08:20:40
【问题描述】:
我是 Html 新手,我创建了包含四个单元格(ItemName、Quantity、QuantityType、Amount)的动态表。我只想使用 onkeyup 方法对所有行中的 Amount(cell) 求和,并将该总值放在另一个输入框中。如果我在金额单元格中编辑值,也会影响总和值。如果我点击它也想影响总和,我在每一行都有删除按钮。我只想要javascript 怎么办。
请任何人帮助我!
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
div {
background: red;
margin: 5px;
}
table {
border: 2px solid black;
}
td {
padding: 10px;
border: 1px solid lightgrey;
}
</style>
<script>
function createTable() {
var numRows = document.getElementById('number').value;
if (numRows == "") {
alert("Please enter some numeric value");
} else {
var th = document.querySelectorAll('#table th');
if (!th.length) {
var rows = "<th>Item Name</th><th>Quantity</th><th>QuantityType</th><th>Amount</th>";
var table = document.createElement('table');
table.innerHTML = rows;
document.getElementById("table").appendChild(table.firstChild);
}
for (var i = 0; i < numRows; i++) {
var elems = '';
elems += "<tr><td><input type='text' name='" + "name".concat(i + 1) + "'></td><td><input type='text' name='" + "quantity".concat(i + 1) + "'></td><td><input type='text' name='" + "qtype".concat(i + 1) + "'></td><td id='amt'><input type='text' id='sum' onkeyup='myfunction(this.value);' name='" + "total".concat(i + 1) + "'></td><td><input type='button' class='del_img' onClick= 'delSpec(this)' value='Delete'></td></tr>";
var table = document.createElement('table');
table.innerHTML = elems;
document.getElementById("table").appendChild(table.firstChild);
}
}
}
// window.onkeyup = keyup;
//function myfunction(e) {
//setting your input text to the global Javascript Variable for every key press
function myfunction(e) {
var inputTextValue = e,
result = document.getElementById("total_amount").value,
sum = 0;
for(var i=0; i<inputTextValue.length; i++) {
var ip = inputTextValue[i];
if (ip.name && ip.name.indexOf("total") < 0) {
sum += parseInt(ip.value) || 0;
}
// sum = parseFloat(ip) + parseFloat(result);
}
document.getElementById("total_amount").value = sum;
}
function delSpec(node)
{
r=node.parentNode.parentNode;
r.parentNode.removeChild(r);
}
</script>
</head>
<body>
<input type="text" id="number" placeholder="Enter no.of rows"/>
<button type="button" onclick='createTable()'>Click Me!</button>
<table id="table" class="order-table table" name="table1" required>
</table>
<label>Sum:</label>
<input type="text" id="total_amount" value="0"/>
</body>
</html>
提前谢谢...
【问题讨论】:
-
将
onkeyup="myfunction(event)"属性添加到您要重新计算的inputs。
标签: javascript html