Я работаю в ASP.NET и имею цикл foreach. Я хочу добавить новый highchart на каждой итерации моего цикла. Я не получаю никаких ошибок, но только первый график рисует, и он рисует только что вроде ничего не показывающего.
Это то, что у меня есть:
@foreach (Review r in @Model.Reviews)
{
<div style="margin-bottom: 10px; width: 70%;">
@Html.ActionLink(@r.Business.Name, "BusinessDetail", new { id = @r.Business.ID }, new { @class = "business-link" })
</div>
<div style="width: 70%;" id="review-container">
<p>@r.Text</p>
<center style="margin-bottom: 25px;">
<div id='container1' style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto">
<script type="text/javascript">
$(function () {
$('#container1').highcharts({
chart: {
backgroundColor: 'rgba(255, 255, 255, 0.01)',
plotBorderWidth: 0,
plotShadow: false
},
title: {
text: 'Browser<br>shares',
align: 'center',
verticalAlign: 'middle',
y: 50
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
dataLabels: {
enabled: true,
distance: -50,
style: {
fontWeight: 'bold',
color: 'white',
textShadow: '0px 1px 2px black'
}
},
startAngle: -90,
endAngle: 90,
center: ['50%', '75%']
}
},
series: [{
type: 'pie',
name: 'Vote Count',
data: [
['Useful', @r.UsefulVoteCount],
['Cool', @r.CoolVoteCount],
['Funny', @r.FunnyVoteCount],
]
}]
});
});
</script>
</div>
</center>
</div>
</center>
}
Ваш код зацикливается на r
но вы когда-либо создаете диаграмму в $('#container1').highcharts(...)
. Вам нужно создать новый контейнер и вызвать новые highcharts
для создания диаграммы. Есть много способов сделать это.