Javascript 显示来自foorloop-JS的数组结果

Javascript 显示来自foorloop-JS的数组结果,javascript,laravel,Javascript,Laravel,在我的控制器中,当我返回@foreach($cars->driversas$key=>$value)时,我得到4辆车以数组形式返回,但在我下面的js中,只显示最后一辆车。这在我下面的代码中是如何发生的 PS:Javascript和Laravel初学者 JS <script> @foreach($cars->drivers as $key=>$value) var material = '<div class="input-field col input

在我的控制器中,当我返回
@foreach($cars->driversas$key=>$value)
时,我得到
4辆车
以数组形式返回,但在我下面的js中,只显示最后一辆车。这在我下面的代码中是如何发生的

PS:Javascript和Laravel初学者

JS

 <script>
 @foreach($cars->drivers as $key=>$value)
  var material = 
  '<div class="input-field col input-g s12">' +
    '<input name="cars_name[]" value="{{$value}}" type="text">' +

   '</div>'
    ;
    @endforeach

</script>

@foreach($cars->driversas$key=>$value)
可变材料=
'' +
'' +
''
;
@endforeach

foreach
循环中不能有
var材料。您需要在循环的外部声明,而不是在循环的内部声明,
material+='YOUR_code'

它看起来像这样:

<script>
var material = '';
@foreach{$cars->drivers as $key => $value)
   material += 
     '<div class="input-field col input-g s12">' +
        '<input name="cars_name[]" value="{{$value}}" type="text">' +
     '</div>';
@endforeach
</scrript>

var材料=“”;
@foreach{$cars->driversas$key=>$value)
材料+=
'' +
'' +
'';
@endforeach

在foreach循环中使用material变量只会得到最后一个结果,因为每次循环通过其元素时,它都会被覆盖。通过这种方式,您将值附加到现有变量,并将得到所有结果,而不仅仅是最后一个结果。您在foreach循环中声明了变量material循环。因此,每次循环时,变量material都会使用循环中的值再次声明。因此,变量是使用foreach循环中的最后一个赋值声明的。这就是为什么您只获取列表中的最后一项

您需要在循环外部声明变量,并在变量中连接循环中的项

PS:尝试使用let和es6特性来更好地进行js编程