通过javascript传递id和名称
图像上显示的输出 您好,我在javascript方面没有太多的专业知识,在我的代码中,我有“添加项目和删除项目”按钮,该按钮运行良好。第一行对“总计计算”功能运行良好,但其余行无法运行,因为这使我无法为创建的行分配不同的名称和ID。如何重用javascript。另外,请让我知道如何使用POST方法或此代码接收提交数据,以及如何查找我在表底部插入的所有行的总数。 提前谢谢通过javascript传递id和名称,javascript,Javascript,图像上显示的输出 您好,我在javascript方面没有太多的专业知识,在我的代码中,我有“添加项目和删除项目”按钮,该按钮运行良好。第一行对“总计计算”功能运行良好,但其余行无法运行,因为这使我无法为创建的行分配不同的名称和ID。如何重用javascript。另外,请让我知道如何使用POST方法或此代码接收提交数据,以及如何查找我在表底部插入的所有行的总数。 提前谢谢 <!DOCTYPE html> <html> <head> <lin
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/default.css"/>
<script type="text/javascript" src="add_rows.js"></script>
<script>
function func()
{
var w = document.getElementById("qty").value;
var x = document.getElementById("price").value;
var z = document.getElementById("total");
z.value = Number(w)*Number(x);
}
</script>
</head>
<body>
<fieldset class="row2">
<legend>Catering Order Details</legend>
<p>
<input type="button" value="Add Items" onClick="addRow('dataTable')" />
<input type="button" value="Remove Items" onClick="deleteRow('dataTable')" />
</p>
<table id="dataTable" class="form" border="1">
<tbody>
<tr>
<p>
<td><input type="checkbox" required="required" name="chk[]" /></td>
<td>
<label>Item</label>
<select size="1" name="Item[]" required="required" >
<?php
echo "<option value=''>---Choose Item---</option>";
$q=mysqli_query($dbConnect1,"SELECT DISTINCT ITEM as Item, ITEM_ID FROM `manage_item`");
while($r=mysqli_fetch_assoc($q))
{
$i=$r['ITEM_ID'];
$n=$r['Item'];
echo "<option value='$i'> $n</option>";
}
?>
</select>
</td>
<td>
<label>Quantity</label>
<input type="text" required="required" name="Qty[]" id="qty" value="">
</td>
<td>
<label>Price/Quantity</label>
<input type="text" required="required" name="Price[]" id="price" value="" onChange="func()">
</td>
<td>
<label>Total</label>
<input type="text" required="required" name="Total[]" id="total" value="">
</td>
</p>
</tr>
</tbody>
</table>
<div class="clear"></div>
</fieldset>
</div>
</body>
</html>
函数func()
{
var w=document.getElementById(“数量”)值;
var x=document.getElementById(“价格”).value;
var z=document.getElementById(“总计”);
z、 数值=数量(w)*数量(x);
}
餐饮订单详情
项目
要使用ID,您可以将其更改为类名,如中所示:
<input type="text" required="required" name="Qty[]" class="qty" value="" oninput="func(this)">
此参数现在是当前元素ele。现在,您可以获得父行并使用这些类找到所有元素
片段:
函数updateGrandTotal(){
var gt=document.querySelector('input.grantotal');
gt.value=0;
document.querySelectorAll('input.total').forEach(函数(ele,idx){
gt.value=+gt.value++ele.value;
});
}
函数func(ele){
var parentRow=ele.parentNode.parentNode;
var w=parentRow.querySelector('input.qty')值;
var x=parentRow.querySelector('input.price').value;
var z=parentRow.querySelector('input.total');
z、 数值=数量(w)*数量(x);
updateGrandTotal();
}
函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length-1;
如果(行数<100){
var行=table.insertRow(行计数+1);
var colCount=table.rows[1].cells.length;
对于(var i=0;i根据计数为每一行指定一个唯一的ID,并绑定event.function func(i){var w=document.getElementById(“qty_“+i).value;var x=document.getElementById(“price_“+i).value;var z=document.getElementById(“total_“+i);z.value=Number(w)*Number(x); }您好,通过单击“添加项目”按钮,可以在此处动态添加每一行。触发此事件时,如何从javascipt传递id和名称,以便它必须填充添加的新行中的id和名称。通过输入元素eventHi gaetanoM,感谢其工作正常。是否有任何方法获取所有行的总数并显示在底部。提交此数据我是如何知道要在数据库中推送数据需要添加多少行的。@JagannathB为了获得总量,我添加了一个函数updateGrandTotal。对于注释的第二部分,您可以将表包装为表单或ajax所有输入,然后您需要实现服务器端代码。谢谢
<input type="text" required="required" name="Qty[]" class="qty" value="" oninput="func(this)">
function func(ele) {
var parentRow = ele.parentNode.parentNode;
var w = parentRow.querySelector('input.qty').value;
var x = parentRow.querySelector('input.price').value;
var z = parentRow.querySelector('input.total');
z.value = Number(w)*Number(x);
}