javascript - 如何使用javascript动态生成总计

标签 javascript php jquery html

在这里我想创建动态总计。我得到了价格和数量的总和。但我无法获得总计,所以恳请解决这个问题,这里我必须使用 php for 循环十行

function myFunction(time,v) {
var p="price"+time;
var d="demo"+time;
var y = document.getElementById(p).value;
var z = v;
var ans=y*z;
document.getElementById(d).value = ans;
}
function my(time,ans) {
//alert('You have not Login  !!');
var p="demo"+time;
var y = document.getElementById(p).value;
	//var z=y+ans;
	document.getElementById("total").innerHTML = ans;
}
<table>
  <?php
	$i=0;
     while($i<=10)
					  {
					?>
				<tr>					
	  <td> <input id="price<?php echo $i; ?>" type="text" readonly value="5"></td>
	  <td><input id="qty" type="number" value="0"  onChange="myFunction(<?php echo $i; ?>,this.value)" ></td>
	 <td><input id="demo<?php echo $i; ?>" type="text" value="0"  onChange="my(<?php echo $i; ?>,this.value)" >
						
						</td>
</tr>					
	<?php 
	$i++; 
	}?>

<h4> Total :- <span id = "total"></span></h4>
</table>

最佳答案

存储您的总计数全局,并按获取“演示”的所有元素 querySelector,然后计算它们。

检查片段。

var _mytotal=0;
function _Function1(time,v)
{
	var p="price"+time;
	var d="demo"+time;
	var y = document.getElementById(p).value;
	var z = v;
	var ans=y*z;
	document.getElementById(d).value = ans;
	_mytotal=0;
	_Function2();
}
function _Function2()
{
	var demos = document.querySelectorAll('*[id^="demo"]');
	demos.forEach(_FunctionTotal);
}
function _FunctionTotal(item) 
{
    _mytotal = +_mytotal + +document.getElementById(item.id).value;
    document.getElementById("total").textContent = _mytotal;
}
<table>
	<tr>		
		<th>Price</th>
		<th>Quantity</th>
		<th>Total</th>
	</tr>
	<tr>
		<td><input id="price0" type="text" readonly value="5"></td>
		<td><input id="qty" type="number" value="0" onChange="_Function1(0,this.value)" ></td>
		<td><input id="demo0" type="text" readonly value="0" ></td>
	</tr>
	<tr>
		<td><input id="price1" type="text" readonly value="5"></td>
		<td><input id="qty" type="number" value="0" onChange="_Function1(1,this.value)" ></td>
		<td><input id="demo1" type="text" readonly value="0" ></td>
	</tr>
	<tr>
		<td><input id="price2" type="text" readonly value="5"></td>
		<td><input id="qty" type="number" value="0" onChange="_Function1(2,this.value)" ></td>
		<td><input id="demo2" type="text" readonly value="0" ></td>
	</tr>
	<tr>
		<td><input id="price3" type="text" readonly value="5"></td>
		<td><input id="qty" type="number" value="0" onChange="_Function1(3,this.value)" ></td>
		<td><input id="demo3" type="text" readonly value="0" ></td>
	</tr>
	<tr>
		<td><input id="price4" type="text" readonly value="5"></td>
		<td><input id="qty" type="number" value="0" onChange="_Function1(4,this.value)" ></td>
		<td><input id="demo4" type="text" readonly value="0" ></td>
	</tr>
	<tr>
		<td><h4>Grand Total</h4></td>
		<td>&nbsp;</td>
		<td><h4><span id = "total"></span></h4></td>
	</tr>
</table>

关于javascript - 如何使用javascript动态生成总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819005/

相关文章:

javascript - 在javascript中动态实例化类

php - 创建将匹配字符串中的要求的正则表达式

php - Laravel 项目的 Azure Web App 错误 404

jquery - 当浏览器窗口高度小于 800 像素时,需要帮助保持嵌套的 div 可见

javascript - 如何通过单击圆心创建一个完整的圆(每次单击圆心都会显示圆的各个部分)

javascript - 将 JSON 直接传递给 Javascript,无需 JSON.parse()

php - Apache2返回php源码

javascript - jQuery 在 .append 上存储值

javascript - 猫头鹰 slider 单击下一个上一个会触发所有其他 slider 滑动

javascript - 如何在 d3 中从 v4 转换为 v3