84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我正在为一个项目创建一个订单。我使用 Foreach 循环将数据从数据库提取到我创建的表中。但是,当我将数量和单价数据相乘时,该代码仅适用于表第一行中的数据。如何针对所有传入循环数据修改此代码?
购物车.php:
Javascript代码:
$(document).ready(function() { $('.quantity').keyup(function() { var quantity = $('.quantity').val(); var unitprice = $('.unitprice').val(); var totalprice = $('.totalprice').val(); var result = quantity * unitprice; $('.totalprice').val(result); }); }); });
打印: 图片
如何编辑代码以在所有行上运行?
您为输入指定了class,而不是id。这意味着您无法轻松地区分它们。但是,通过一些巧妙的 JQuery 代码,您可以识别数量发生更改的表行,然后获取quantity和unitprice并设置totalprice 代码>:
class
id
quantity
unitprice
totalprice 代码>:
$(document).ready(function() { $('.quantity').keyup(function() { let tableRow = $(this).parent().parent(); let quantity = tableRow.find('.quantity').val(); let unitprice = tableRow.find('.unitprice').val(); let totalprice = quantity * unitprice; tableRow.find('.totalprice').val(totalprice); }) });
因此,我们在这里获取数量输入$(this),并获取父级两次:首先是,然后是。我们将其存储在tableRow中。鉴于我们现在知道表行,我们可以使用find()访问输入.
$(this)
tableRow
示例代码请参见:https://codepen.io/kikosoft/pen/oNMjqLd一个>
您为输入指定了
class
,而不是id
。这意味着您无法轻松地区分它们。但是,通过一些巧妙的 JQuery 代码,您可以识别数量发生更改的表行,然后获取quantity
和unitprice
并设置totalprice 代码>:
因此,我们在这里获取数量输入
$(this)
,并获取父级两次:首先是,然后是
。我们将其存储在
tableRow
中。鉴于我们现在知道表行,我们可以使用find()访问输入.示例代码请参见:https://codepen.io/kikosoft/pen/oNMjqLd一个>