1

我正在使用一个简单的网站来使用 Highcharts 和 jQuery Mobile 显示我的统计数据。问题是,第一次加载页面时,没有显示图表。我需要手动重新加载页面以显示图表。

我已经检查了所有建议的解决方案(主要基于更改脚本加载的顺序、在每个页面创建时委托功能、将脚本放在 data-role="page" 上)但对我没有任何作用。

我正在使用 django 模板,这就是我的页面现在的样子(经过一千次不成功的更改):

{% extends "web/dashboard_base.html" %}
{% load i18n %}

{% block content %}
<script src="{{ STATIC_URL }}js/highcharts/highcharts.js"></script>
<script src="{{ STATIC_URL }}js/highcharts/highcharts-more.js"></script>
<script src="{{ STATIC_URL }}js/highcharts/modules/exporting.js"></script>
<script src="{{ STATIC_URL }}js/ipki_charts.js"></script>
<script>
$(function () {
  {% for indicator in indicators %}
  values_per_indicator_manager({{ indicator.id }}, '{{ indicator.id }}_container');
  {% endfor %}
});
</script>

<ul data-role="listview">
  {% for indicator in indicators %}
  <li><h2 style="width: 100%; text-align: center">
      {{ indicator }} 
      ({{ indicator.unit }})</h2>
  <div id="{{ indicator.id }}_container"
       style="width: 80%; margin: 0 auto">
  </div>
  </li>
  {% endfor %}
</ul>
...

函数 'values_per_indicator_manager' 使用 ajax 加载数据并创建图表。您可以在这里查看 ipki_charts.js:http: //pastebin.com/MMQ3V1hD

4

0 回答 0