Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过javascript传递id和名称_Javascript - Fatal编程技术网

通过javascript传递id和名称

通过javascript传递id和名称,javascript,Javascript,图像上显示的输出 您好,我在javascript方面没有太多的专业知识,在我的代码中,我有“添加项目和删除项目”按钮,该按钮运行良好。第一行对“总计计算”功能运行良好,但其余行无法运行,因为这使我无法为创建的行分配不同的名称和ID。如何重用javascript。另外,请让我知道如何使用POST方法或此代码接收提交数据,以及如何查找我在表底部插入的所有行的总数。 提前谢谢 <!DOCTYPE html> <html> <head> <lin

图像上显示的输出

您好,我在javascript方面没有太多的专业知识,在我的代码中,我有“添加项目和删除项目”按钮,该按钮运行良好。第一行对“总计计算”功能运行良好,但其余行无法运行,因为这使我无法为创建的行分配不同的名称和ID。如何重用javascript。另外,请让我知道如何使用POST方法或此代码接收提交数据,以及如何查找我在表底部插入的所有行的总数。 提前谢谢

<!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);
}