#javascript #java #jsp
Вопрос:
Поэтому я получаю информацию на своей странице JSP с помощью скриптлета. Мне нужно рассчитать общую стоимость продуктов .
<%
List<Products> listProducts = employeeService.listProducts();
for (Products product:listProducts){
%>
<tr>
<th><%=product.getProduct_id() %></th>
<td><%=product.getName() %></td>
<td>amp;#8377; <%=product.getPrice() %></td>
<td><%=product.getCategory() %></td>
<td><input type="checkbox" name="addProduct"></td>
</tr>
<%} %>
</tbody>
<tr><input type="button" value="calculate" onclick="calculate()">Calculate</tr>
</table>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="shippingCost">Shipping Cost</label> <input type="number"
class="form-control" id="shippingCost">
</div>
<div class="form-group col-md-6">
<label for="totalOrderValue">Total Order Value</label> <input type="number"
class="form-control" id="totalOrderValue">
</div>
</div>
Как мне написать функцию Javascript для того же, для чего я не могу назначить идентификаторы отдельным продуктам здесь.
Ответ №1:
Добавьте класс в product.getPrice()
td. и выполните итерацию по tds.
JS:
const sum = Array.from(document.querySelectorAll(".productPrice"))
.map(priceBlock => priceBlock.innerHTML)
.reduce(((acc, price) => acc price), 0);
console.log(sum)