使用javascript获取getElementsByName的总和(laravel 5)
我对具有特定名称的元素的值求和有一个问题。我一直在尝试使用我自己版本的帖子答案,但运气不好 这里是我想要求和的元素的位置:使用javascript获取getElementsByName的总和(laravel 5),javascript,jquery,laravel,blade,Javascript,Jquery,Laravel,Blade,我对具有特定名称的元素的值求和有一个问题。我一直在尝试使用我自己版本的帖子答案,但运气不好 这里是我想要求和的元素的位置: @foreach ($items as $item) <tr> <td>{{ $item[0]->name }}</td> <td>{{ $item->quantity[0]->quantity }}</td> <td>${{ $item[0]->pr
@foreach ($items as $item)
<tr>
<td>{{ $item[0]->name }}</td>
<td>{{ $item->quantity[0]->quantity }}</td>
<td>${{ $item[0]->price }}</td>
<td name="subtotal">{{ $item->quantity[0]->quantity * $item[0]->price }}</td>
</tr>
@endforeach
@foreach($items作为$item)
{{$item[0]->name}
{{$item->quantity[0]->quantity}
${{$item[0]->price}
{{$item->quantity[0]->quantity*$item[0]->price}
@endforeach
这一切都输出正确,正如你们所看到的,我使用的是Laravel5的刀片,我想知道这是否与我为什么不能让它工作有关。如果有一个更好的方法来做这与拉威尔,请让我知道
这是我正在使用的脚本,它位于上述代码下面:
<script>
var arr = document.getElementsByName('subtotal');
var tot=0;
for(var i=0;i<arr.length;i++){
if(parseFloat(arr[i].value))
{
tot += parseFloat(arr[i]);
}
}
document.write(tot);
</script>
var arr=document.getElementsByName(“小计”);
var-tot=0;
对于(var i=0;i
可以找到reduce的文档尝试使用以下脚本代码:
var total = 0;
$('td[name="subtotal"]').map(function(index, td) {
total += parseFloat($(td).text());
});
console.log(total);
希望这对您有所帮助。td
s没有值
,他们有textContent
…而且,td
的名称
已被弃用,请使用类
对元素进行分组。@Teemu请将其添加为答案,我很乐意接受。除此之外-您想用Laravel计算总数吗(即在服务器上,在将HTML发送到浏览器之前)或在JavaScript中(在客户端上,在浏览器收到HTML之后)?因为,从外观上看,您是在服务器上构建表的,因此在服务器上计算总和也是明智的。@Tomalak是的,我在研究这条路线之前正在研究这一点,但遇到了一些问题,因此我看到人们在js路线上运气不错,所以我深入研究了这一点。我很高兴与您开始聊天,以了解gi如果你喜欢的话,那就试试吧。只是因为你第一次没有让它与Laravel一起工作,在客户端编写JS进行这种计算是愚蠢的。它根本没有任何意义,我希望你能明白我的意思。你的问题应该是如何在Laravel中求和一个表。
var total = 0;
$('td[name="subtotal"]').map(function(index, td) {
total += parseFloat($(td).text());
});
console.log(total);