[英]I can't seem to get my first row of sub total to display on the grand total
因此,当按下按钮时,我试图使一行的小计显示在总计输入上,但我必须填写整行,它才会显示总计。
我想要它,这样当我输入第一行并单击按钮时,它将显示第一行的总金额,如果我在第二行添加金额并再次单击按钮,它仍将应用 function。 因为我现在遇到了麻烦,所以当我添加所有金额时,它只会显示总值。
因为我的一些 JavaScript 不合适所以我附上了它的截图。
HTML:
<body>
<head>
<h1><strong> Book Ordering System </strong></h1>
<table>
<thead>
<tr>
<th> No.</td>
<th>Book Title</th>
<th>Author</th>
<th>Catagory</th>
<th>Unit Price</th>
<th>Quantity</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<!---------------- ROW 1 ------------------>
<tr class="hover">
<td>1</td>
<td>
<input type="number" />
</td>
<td>
<input type="number" />
</td>
<td>
<select name="type">
<option value="Choose" selected>Choose a Category...</option>
<option value="Business">Business</option>
<option value="Fiction">Fiction</option>
<option value="Mathematics">Mathematics</option>
<option value="Technology">Technology</option>
</select>
</td>
<td>
<input type="number" name="unit price" placeholder="0.00" id="book1_price1" >
</td>
<td>
<input type="number" name="Quality" placeholder="0" id="book1_quan1" >
</td>
<td>
<input
required
type="number"
name="total"
value="0.00"
readonly="readonly"
id="book1_total"
/>
</td>
</tr>
<!---------------- ROW 2 ------------------>
<tr class="hover">
<td>2</td>
<td>
<input type="number" />
</td>
<td>
<input type="number" />
</td>
<td>
<select name="type">
<option value="Choose" selected>Choose a Category...</option>
<option value="Business">Business</option>
<option value="Fiction">Fiction</option>
<option value="Mathematics">Mathematics</option>
<option value="Technology">Technology</option>
</select>
</td>
<td>
<input type="number" name="unit price" placeholder="0.00" id="book2_price1" >
</td>
<td>
<input type="number" name="Quality" placeholder="0" id="book2_quan1">
</td>
<td>
<input
required
type="number"
name="total"
value="0.00"
readonly="readonly"
id = "book2_total"
/>
</td>
</tr>
<!---------------- ROW 3 ------------------>
<tr class="hover">
<td>3</td>
<td>
<input type="number" />
</td>
<td>
<input type="number" />
</td>
<td>
<select name="type">
<option value="Choose">Choose a Category...</option>
<option value="Business">Business</option>
<option value="Fiction">Fiction</option>
<option value="Mathematics">Mathematics</option>
<option value="Technology">Technology</option>
</select>
</td>
<td>
<input type="number" name="unit price" placeholder="0.00" id="book3_price1">
</td>
<td>
<input type="number" name="Quality" placeholder="0" id="book3_quan1" >
</td>
<td>
<input
required
type="number"
name="total"
value="0.00"
readonly="readonly"
id="book3_total"
/>
</td>
</tr>
<!---------------- ROW 4 ------------------>
<tr class="hover">
<td>4</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" />
</td>
<td>
<select name="type">
<option value="Choose">Choose a Category...</option>
<option value="Business">Business</option>
<option value="Fiction">Fiction</option>
<option value="Mathematics">Mathematics</option>
<option value="Technology">Technology</option>
</select>
</td>
<td>
<input type="number" name="unit price" placeholder="0.00" id="book4_price1">
</td>
<td>
<input type="number" name="Quality" placeholder="0" id="book4_quan1">
</td>
<td>
<input
required
type="number"
name="total"
value="0.00"
readonly="readonly"
id="book4_total"
/>
</td>
</tr>
<!---------------- ROW 5 ------------------>
<tr class="hover">
<td>5</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" />
</td>
<td>
<select name="type">
<option value="Choose">Choose a Category...</option>
<option value="Business">Business</option>
<option value="Fiction">Fiction</option>
<option value="Mathematics">Mathematics</option>
<option value="Technology">Technology</option>
</select>
</td>
<td>
<input type="number" name="unit price" placeholder="0.00" id="book5_price1" >
</td>
<td>
<input type="number" name="Quality" placeholder="0" id="book5_quan1" >
</td>
<td>
<input
required
type="number"
name="total"
value="0.00"
readonly="readonly"
id="book5_total"
/>
</td>
</tr>
</tbody>
<tfoot>
<!------------ Last Row ------------------->
<tr>
<td colspan="5">
<input type="button" value="Calculate Grand Total Price" onclick="calculateTotal();">
</td>
<td colspan="2">
<input
type="number"
name="total_final"
id="total_final"
value="0.00"
style="font-size: 18px; background-color: silver"
readonly="readonly"
/>
</td>
</tr>
</tfoot>
我的 JavaScript:
<script>
function calculateTotal() {
let Book1_fulltotal = 0
const NumberOfBooks = 5;
for (let i = 1; i <= NumberOfBooks; ++i) {
let BookTotal = parseFloat(document.getElementById("book" + i + "_price1").value) * parseFloat(document.getElementById("book" + i + "_quan1").value);
document.getElementById("book" + i + "_total").value = BookTotal.toFixed(2);
Book1_fulltotal += parseFloat(document.getElementById("book" + i + "_total").value);
}
const new_avg = Book1_fulltotal
document.getElementById("total_final").value = new_avg.toFixed(2)
}
for (let i = 1; i <= 5; ++i) {
document.getElementById("book" + i + "_price1").value = (0).toFixed(2);
document.getElementById("book" + i + "_quan1").value = (0).toFixed(2);
document.getElementById("book" + i + "_total").value = (0).toFixed(2);
}
</script>
您的 HTML 中有一些语法错误。 在我修复它之后,你的 js function 运行良好。
function calculateTotal() { let Book1_fulltotal = 0; const NumberOfBooks = 5; for (let i = 1; i <= NumberOfBooks; ++i) { let BookTotal = parseFloat(document.getElementById("book" + i + "_price1").value) * parseFloat(document.getElementById("book" + i + "_quan1").value); document.getElementById("book" + i + "_total").value = BookTotal.toFixed(2); Book1_fulltotal += parseFloat( document.getElementById("book" + i + "_total").value ); } const new_avg = Book1_fulltotal; document.getElementById("total_final").value = new_avg.toFixed(2); } for (let i = 1; i <= 5; ++i) { document.getElementById("book" + i + "_price1").value = (0).toFixed(2); document.getElementById("book" + i + "_quan1").value = (0).toFixed(2); document.getElementById("book" + i + "_total").value = (0).toFixed(2); }
<body> <h1><strong> Book Ordering System </strong></h1> <table> <thead> <tr> <th>No.</th> <th>Book Title</th> <th>Author</th> <th>Catagory</th> <th>Unit Price</th> <th>Quantity</th> <th>Total</th> </tr> </thead> <tbody> <.---------------- ROW 1 ------------------> <tr class="hover"> <td>1</td> <td> <input type="number" /> </td> <td> <input type="number" /> </td> <td> <select name="type"> <option value="Choose" selected>Choose a Category...</option> <option value="Business">Business</option> <option value="Fiction">Fiction</option> <option value="Mathematics">Mathematics</option> <option value="Technology">Technology</option> </select> </td> <td> <input type="number" name="unit price" placeholder="0.00" id="book1_price1" /> </td> <td> <input type="number" name="Quality" placeholder="0" id="book1_quan1" /> </td> <td> <input required type="number" name="total" value="0.00" readonly="readonly" id="book1_total" /> </td> </tr> <.---------------- ROW 2 ------------------> <tr class="hover"> <td>2</td> <td> <input type="number" /> </td> <td> <input type="number" /> </td> <td> <select name="type"> <option value="Choose" selected>Choose a Category...</option> <option value="Business">Business</option> <option value="Fiction">Fiction</option> <option value="Mathematics">Mathematics</option> <option value="Technology">Technology</option> </select> </td> <td> <input type="number" name="unit price" placeholder="0.00" id="book2_price1" /> </td> <td> <input type="number" name="Quality" placeholder="0" id="book2_quan1" /> </td> <td> <input required type="number" name="total" value="0.00" readonly="readonly" id="book2_total" /> </td> </tr> <.---------------- ROW 3 ------------------> <tr class="hover"> <td>3</td> <td> <input type="number" /> </td> <td> <input type="number" /> </td> <td> <select name="type"> <option value="Choose">Choose a Category...</option> <option value="Business">Business</option> <option value="Fiction">Fiction</option> <option value="Mathematics">Mathematics</option> <option value="Technology">Technology</option> </select> </td> <td> <input type="number" name="unit price" placeholder="0.00" id="book3_price1" /> </td> <td> <input type="number" name="Quality" placeholder="0" id="book3_quan1" /> </td> <td> <input required type="number" name="total" value="0.00" readonly="readonly" id="book3_total" /> </td> </tr> <.---------------- ROW 4 ------------------> <tr class="hover"> <td>4</td> <td> <input type="text" /> </td> <td> <input type="text" /> </td> <td> <select name="type"> <option value="Choose">Choose a Category...</option> <option value="Business">Business</option> <option value="Fiction">Fiction</option> <option value="Mathematics">Mathematics</option> <option value="Technology">Technology</option> </select> </td> <td> <input type="number" name="unit price" placeholder="0.00" id="book4_price1" /> </td> <td> <input type="number" name="Quality" placeholder="0" id="book4_quan1" /> </td> <td> <input required type="number" name="total" value="0.00" readonly="readonly" id="book4_total" /> </td> </tr> <.---------------- ROW 5 ------------------> <tr class="hover"> <td>5</td> <td> <input type="text" /> </td> <td> <input type="text" /> </td> <td> <select name="type"> <option value="Choose">Choose a Category;.:</option> <option value="Business">Business</option> <option value="Fiction">Fiction</option> <option value="Mathematics">Mathematics</option> <option value="Technology">Technology</option> </select> </td> <td> <input type="number" name="unit price" placeholder="0;00" id="book5_price1" /> </td> <td> <input type="number" name="Quality" placeholder="0" id="book5_quan1" /> </td> <td> <input required type="number" name="total" value="0:00" readonly="readonly" id="book5_total" /> </td> </tr> </tbody> <tfoot> <!------------ Last Row -------------------> <tr> <td colspan="5"> <input type="button" value="Calculate Grand Total Price" onclick="calculateTotal();" /> </td> <td colspan="2"> <input type="number" name="total_final" id="total_final" value="0.00" style="font-size: 18px; background-color: silver" readonly="readonly" /> </td> </tr> </tfoot> </table> </body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.