我有一个这样的网站

我使用for循环创建这些字段。
@for (int i = 0; i < 5; i++)
{
<a class="btn btn-primary btn-block" onclick="toggle_visibility('dataHolder-@i');">
<span id="day"> waiting...</span>
</a>
<div id="dataHolder-@i" style="display: none;" class="alert alert-dismissible alert-primary col-lg-12">
<div class="row">
<div class="col">
<b> City: </b> <span id="name.@i"> waiting...</span><br/>
<b> Country: </b><span id="country.@i"> waiting...</span><br/>
<b> Latitude: </b><span id="lat.@i"> waiting...</span><br/>
<b> Longitude: </b><span id="lon.@i"> waiting...</span><br/>
<b> Visibility: </b><span id="visibility.@i"> waiting...</span>m<br/>
<b> Wind speed: </b><span id="wind.@i"> waiting...</span>meters/sec<br/>
</div>
<div class="col">
<b> Humidity: </b><span id="humidity.@i"> waiting...</span>%<br/>
<b> AvgPressure: </b><span id="pressure.@i"> waiting...</span>hPa<br/>
<b> Temperature: </b><span id="temp.@i"> waiting...</span>° C<br/>
<b> Temperature feels like: </b><span id="tempfeelslike.@i"> waiting...</span>° C<br/>
<b> Min temperature: </b><span id="minTemp.@i"> waiting...</span>° C<br/>
<b> Max temperature:: </b><span id="maxTemp.@i"> waiting...</span>° C<br/>
</div>
</div>
</div>}在那里,我想显示我从后端发送的JSON的值。
我正在使用这样的函数,但我不知道如何将每个值添加到下一个容器中。
success: function(response) {
var value = JSON.parse(response);
console.log(response);
for (var i = 0; i < 5; i++) {
$("#name.0").html(value.CityName);
$("#country").html(value.CountryName);
$("#lat").html(value.Coords[0].lat);
$("#lon").html(value.Coords[0].lon);
$("#humidity").html(value.DataByDay[0].AvgHumidity);
$("#tempfeelslike").html(value.DataByDay[0].AvgFeelsLike);
$("#visibility").html(value.DataByDay[0].AvgVisibility);
$("#wind").html(value.DataByDay[0].AvgWindSpeed);
$("#temp").html(value.DataByDay[0].AvgTemp);
$("#maxTemp").html(value.DataByDay[0].AvgMaxTemp);
$("#minTemp").html(value.DataByDay[0].AvgMinTemp);
$("#pressure").html(value.DataByDay[0].AvgPressure);
$("#day").html(value.DataByDay[0].DayTime);
}
}编辑:
我得到的值是这样的

发布于 2021-04-06 04:37:50
使用类而不是尝试使用增量ID是最简单的方法。循环遍历每个容器,并使用当前循环迭代的索引将容器索引与数组索引进行匹配
简化示例:
const data = [
{"lat": 22, "lng": 33},
{"lat": 27, "lng": 37},
{"lat": 117, "lng": 77}
]
$('.data-holder').each(function(i){
const dataItem = data[i];
$(this).find('.lat').text(dataItem.lat);
$(this).find('.lng').text(dataItem.lng)
})<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="content">
<div class="data-holder">
<p>Lat: <span class="lat"></span>, Long: <span class="lng"></span>
</div>
<div class="data-holder">
<p>Lat: <span class="lat"></span>, Long: <span class="lng"></span>
</div>
<div class="data-holder">
<p>Lat: <span class="lat"></span>, Long: <span class="lng"></span>
</div>
</div>
https://stackoverflow.com/questions/66959192
复制相似问题