【问题标题】:duplicate result to extract data from array重复结果以从数组中提取数据
【发布时间】:2021-12-02 17:05:32
【问题描述】:

我正在准备从我的数组中提取数据并将这些数据附加到 span。

我正在使用 laravel 和刀片

首先我正在循环从一个数组中获取数据并在此 div 中创建 div 和 span:

@foreach ($status as $sta)
            <div class="col-md-3">
                <span class="font-weight-bold">{{ $sta }}:</span><span class="porcentaje ml-2"></span>
            </div>
        @endforeach

在我在 jquery 中循环到其他包含状态值的数组之后:

<script>
        let total = {!! json_encode($totalCall) !!};
        
        $.each(total, function(valor, indice) {
            $(".porcentaje").text(valor);
        });
        
    </script>

total包含此值的数组:

[3, 3, 4, 3]

但是当我在我的跨度中做文本时,我得到了这个:

AUSENTE:3
CONFIRMADA:3
NUEVA:3
NULA:3

这是不同的状态,我需要在此状态下附加此数据。我不知道我做错了。

感谢您帮助我并阅读我。对不起我的英语

【问题讨论】:

  • $(".porcentaje") 在整个文档中选择 all 具有该类的元素,因此您每次都为所有这些元素设置文本内容。使用api.jquery.com/eq 仅选择与您的每个索引变量匹配的元素。
  • 您正在通过循环 total 更新 span id ='porcentaje'。第一次将其文本设置为3,然后设置34,最后再次设置为3。所以它的文字是3
  • @navnath 感谢您的回复。我该怎么做?
  • 感谢您的回复,但我在 @foreach 中使用此类创建任何跨度,并且我在此 for-each 中具有所有状态,并且我需要在此状态中具有价值。不设置一对一
  • @scorpions78 你只需要做$(".porcentaje").eq(indice).text(valor);

标签: javascript jquery laravel foreach jquery-append


【解决方案1】:

如果状态和总数都对应,看起来确实如此,那么为什么要有两个单独的循环?只是在查看状态时输出总数?

@php $i = 0; @endphp
@foreach($status as $sta)
    <div class="col-md-3">
        <span class="font-weight-bold">{{ $sta }}:</span><span class="porcentaje ml-2">{{ $totalCall[$i] }}</span>
    </div>
    @php $i += 1; @endphp
@endforeach

【讨论】:

  • 感谢您的回复
猜你喜欢
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
相关资源
最近更新 更多