我在 JavaScript 中有这个函数,它应该计算在 php 中选择的产品的总价。当我加载我的页面时,控制台会在我的函数之外记录日志,但里面的却没有。我的代码中是否有错误导致它无法执行?<?phpif ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { ?> <tr> <td><?= htmlentities($row['id']); ?></td> <td><?= htmlentities($row['Article']); ?></td> <td><?= htmlentities($row['Prix']); ?></td> <td><?= htmlentities($row['PrixRetour']); ?></td> <td><?= htmlentities($row['QuantiteeMaximale']); ?></td> <td><?= htmlentities($row['Projet']); ?></td> <td><input data-price='<?= floatval($row['Prix']); ?>' data-max-quantity='<?= intval($row['QuantiteeMaximale']); ?>' type="number" name="quantity"></td> </tr> <?php } ?> </table> <p>Grand Total: $<span id='grandTotal'></span></p> <script> console.log("test1"); function calTotal() { console.log("test2"); const tableEl = document.getElementById('articles') const grandTotalEl = document.getElementById('grandTotal') const inputEls = tableEl.querySelectorAll('input[name=quantity]') const updateGrandTotal = (grandTotalEl, inputEls) => { grandTotalEl.innerText = inputEls.reduce((total, inputEl) => { const maxQuantity = parseInt(inputEl.dataset.maxQuantity) if(parseInt(inputEl.value) > maxQuantity) inputEl.value = maxQuantity if(parseInt(inputEl.value) < 0) inputEl.value = 0 const price = parseFloat(inputEl.dataset.price) const quantity = parseInt(inputEl.value) console.log("hello"); if(isNaN(quantity)) return total return total + (price * quantity) }, 0) }
2 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
// Create javascript-only function for loaded DOM
function readyFired(callback) {
document.readyState != 'complete' ? setTimeout('readyFired(' + callback + ')', 1) : callback();
}
// DOM is fully-loaded and ready to calculate the total
readyFired(function() {
calTotal();
});
- 2 回答
- 0 关注
- 215 浏览
添加回答
举报
0/150
提交
取消