Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript获取getElementsByName的总和(laravel 5)_Javascript_Jquery_Laravel_Blade - Fatal编程技术网

使用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);