0

您好,感谢您的所有回答。

我的问题是我想在我使用框架 Symfony2 开发的 web 应用程序中使用 jqPlot 库。

以下是我的观点:

    <head>
 {% javascripts '@PreditBundle/Resources/public/js/*'  %} 



<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\jquery.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\jquery.jqplot.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.cursor.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.dateAxisRenderer.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.logAxisRenderer.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
{% endjavascripts %}


</head>

<body>
<h1>test</h1>



 <div id="chart1" style="height:200px; width:600px;"></div>
  {% javascripts '@PreditBundle/Resources/public/js/*'  %} 
  <script type="text/javascript" class="code">
$(document).ready(function(){
    goog = [["6/22/2009",425.32], ["6/8/2009",424.84], ["5/26/2009",417.23], ["5/11/2009",390], 
    ["4/27/2009",393.69], ["4/13/2009",392.24], ["3/30/2009",369.78], ["3/16/2009",330.16], ["3/2/2009",308.57], 
    ["2/17/2009",346.45], ["2/2/2009",371.28], ["1/20/2009",324.7], ["1/5/2009",315.07], ["12/22/2008",300.36], 
    ["12/8/2008",315.76], ["11/24/2008",292.96], ["11/10/2008",310.02], ["10/27/2008",359.36], ["10/13/2008",372.54],
    ["9/29/2008",386.91], ["9/15/2008",449.15], ["9/2/2008",444.25], ["8/25/2008",463.29],  ["8/11/2008",510.15], 
    ["7/28/2008",467.86], ["7/14/2008",481.32], ["6/30/2008",537], ["6/16/2008",546.43], ["6/2/2008",567], 
    ["5/19/2008",544.62], ["5/5/2008",573.2], ["4/21/2008",544.06], ["4/7/2008",457.45], ["3/24/2008",438.08], 
    ["3/10/2008",437.92], ["2/25/2008",471.18], ["2/11/2008",529.64], ["1/28/2008",515.9], ["1/14/2008",600.25], 
    ["12/31/2007",657], ["12/17/2007",696.69], ["12/3/2007",714.87], ["11/19/2007",676.7], ["11/5/2007",663.97], 
    ["10/22/2007",674.6], ["10/8/2007",637.39], ["9/24/2007",567.27], ["9/10/2007",528.75], ["8/27/2007",515.25]];

    var plot1 = $.jqplot('chart1', [goog], { 
        title: 'Google, Inc.', 
        series: [{ 
            label: 'Google, Inc.', 
            neighborThreshold: -1 
        }], 
        axes: { 
            xaxis: { 
                renderer:$.jqplot.DateAxisRenderer,
                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                tickOptions: {
                  angle: -30
                } 
            }, 
            yaxis: {  
                renderer: $.jqplot.LogAxisRenderer,
                tickOptions:{ prefix: '$' } 
            } 
        }, 
        cursor:{
            show: true, 
            zoom: true
        } 
    });
});
</script>



  {% endjavascripts %}

</body>

问题是当我渲染我的视图时,虽然当我在“查看源代码”上检查它时图形就在那里,但没有绘制图形。

更新:我只是检查了几次代码,我认为代码没有问题。会不会是 symfony 的问题?Internet 导航器配置问题(我使用的是 Chrome)

UPDATE2:在 Google Chrome 的 javascript 控制台中,我有这些错误消息“未捕获的 ReferenceError: $ is not defined test:21 (anonymous function)”

UPDATE3:这是我在创建的 .html 文件中使用的相同代码,它可以工作,所以我认为问题与 Symfony2 框架有关。我想现在这是一个任何使用过 symfony 并包含 javascript 代码的人都可以轻松回答的问题

4

1 回答 1

0

好的,问题是我包含 .js 文件的方式。代替 :

{% javascripts '@PreditBundle/Resources/public/js/*'  %} 



<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\jquery.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\jquery.jqplot.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.cursor.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.dateAxisRenderer.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.logAxisRenderer.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="C:\Users\Diego\Desktop\Practicas\predit\src\Goodday\PreditBundle\Resources\public\js\plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
{% endjavascripts %}

正确的方法是:

{% javascripts '@PreditBundle/Resources/public/js/jquery.min.js'
               '@PreditBundle/Resources/public/js/jquery.jqplot.min.js'
               '@PreditBundle/Resources/public/js/plugins/jqplot.cursor.min.js'
               '@PreditBundle/Resources/public/js/plugins/jqplot.dateAxisRenderer.min.js' 
               '@PreditBundle/Resources/public/js/plugins/jqplot.logAxisRenderer.min.js'
               '@PreditBundle/Resources/public/js/plugins/jqplot.canvasTextRenderer.min.js' 
               '@PreditBundle/Resources/public/js/plugins/jqplot.canvasAxisTickRenderer.min.js' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
于 2013-08-16T09:34:09.260 回答