如何获得特定的列单元格值和使用Onkeyup仅Javascript的值求和
How to get particular column cell values and sum that value using Onkeyup only Javascript
我是新的Html,我创建了四个单元格的动态表(ItemName,Quantity,QuantityType,Amount)。我想要sum仅金额(单元格)在所有的行使用onkeyup方法,并在另一个输入框中放置总价值。如果我编辑金额单元格中的值,也会影响总和值。我有删除按钮在每一行,如果我点击,也想在总和中影响。我只需要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>
还修改了您的函数,以获得所有数量和金额并将它们相加:
<!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 class='amount' type='text' id='sum' onkeyup='myfunction()' 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() {
var sum = 0;
var amounts = document.getElementsByClassName('amount');
for(var i=0; i<amounts .length; i++) {
var a = +amounts[i].value;
sum += parseFloat(a) || 0;
}
document.getElementById("total_amount").value = sum;
}
function delSpec(node)
{
r=node.parentNode.parentNode;
r.parentNode.removeChild(r);
myfunction();
}
</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>
相关文章:
- 使用Javascript动态设置onKeyUp属性
- Javascript issue with onkeyup
- Javascript函数不会加载到onkeyup和onclick事件
- 快速键入时,Javascript onKeyUp条件不起作用
- 防止javascript中的默认onkeyup事件
- Javascript 文本框 onkeyup 事件
- 比较 OnKeyUp JavaScript 时只有第一位数字
- 选择/选项元素中的javascript事件OnKeyUp根本不起作用
- JavaScript onkeyup camelcase vs lowercase
- JavaScript 表单 onkeyup 验证错误
- Javascript onKeyUp
- 使用 Javascript onkeyup() 更改 IE8 中的不透明度(再次)
- Javascript onkeyup有时会被激发两次
- Javascript onkeyup/onkeydown input
- Javascript用字符串替换onKeyUp事件
- Onkeyup或onkeypress javascript事件问题-密码状态更新
- JavaScript在onkeyup函数之后自动取消设置元素类
- 我的基于web的javascript游戏对onkeyup事件不是很敏感.我如何使程序检测所有的击键,而不仅仅是其中的一些
- Javascript的onkeyup函数不起作用
- Onkeyup javascript函数在输入字段上不能正常工作