Это соответствующий код у меня есть:
<script>
titles = <?php echo json_encode($graphTitles)?>;
//Loop through the graphs
for (var graphNO = 0; graphNO < titles.length; graphNO++)
{
//CREATE NEW CONTAINER
var container = document.createElement('div');
document.body.appendChild(container);er);
dates = <?php echo json_encode($recivedDates);?>[titles[graphNO]];
//I EXTRACT A FEW MORE ARRAYS THE SAME METHOD
$(function ()
{
$(container).highcharts({
title: {
text: titles[graphNO]
},
xAxis: {
categories: dates
},
series: [{
type: 'column',
color: 'gold',
name: 'Created Issues',
data: createdIssues.map(Number)
},
//MORE COLUMN'S AND SOME SPLINES. IT ALL WORKS AS EXPECTED
});
});
}
</script>
Я не хотел публиковать весь код и просто запутать его, я ожидал, что этот код сделает:
graphNO имеет значение 2, я думал, что он будет проходить дважды (что он делает), создавать контейнер для каждого цикла (что он делает), а затем рисовать другой график для каждого цикла, который он делает в контейнере, который он только что сделал (но вместо этого он просто рисует второй график).
Я не знаю, что не так, но любые идеи о том, как это исправить, или любые идеи о том, как сделать несколько графиков в цикле, были бы очень полезны.
Кроме того, это первый сайт, который я создаю, поэтому я не использовал javascript, php или html более суток, поэтому извините, если это действительно очевидно, но я ничего не смог найти по этому поводу.
Я понял, что после дня, когда я пробовал сложные вещи из интернета, которые не работали, я подумал, что произойдет, если я удалю функцию, а не тогда:
$(function ()
{
$(container).highcharts({
title: {
Я просто:
$(container).highcharts({
title: {
И все это работало отлично. Я не знаю, почему, вероятно, из-за того, как jquery работает с функциями, я не знаю, я даже не знал, что я использовал, было jquery до часа назад. Но это работает, если кто-то хочет сделать что-то подобное, это работает, и не стесняйтесь сказать мне, почему.
Ответ от Swikrit Khanal действительно работает, потому что функция больше не перезаписывается. Когда вы все обернули в функцию, эта функция перезапишет себя при построении следующего графика, так что вы останетесь только с последним графиком.
Сильфон — это способ использовать цикл и построить несколько графиков, не удаляя функцию, а однозначно назовите ее.
for(v=0; v < 5; v++){
var container = "#container"+v;
var func_name = "container"+v;
func_name = function () {
$(container).highcharts({
})
}
func_name()
}