jquery没有在ajax div中显示图表

时间:2009-11-02 23:54:12

标签: java jquery ajax

我有一个小页面,我一直在努力。它位于:http://nait.jtlnet.com/~fpkj5v0r/programmer.php - 正如您所看到的,jquery图表显示出来,就像它应该的那样。

现在问题是......最终占用了我超过6小时的时间...当我点击链接(使用ajax在同一个div中加载新页面)时,然后我尝试通过单击正确的链接返回到图表,没有任何加载。

  • 看到这种情况的步骤是。加载页面并查看图表。
  • 然后转到“水厂”标题下,点击“测试”。这会将新页面加载到div中。
  • 现在,点击链接“查看统计信息”。这将加载备份包含图表的完全相同的页面..除了没有显示图表。 jquery似乎在这里不起作用。我听说jquery有一个AJAX问题,因为它只是一个div加载而不是整个页面,但我从来没有运气.live()jquery的东西。

请,任何帮助将不胜感激。我尝试了不同的图表,都使用了jquery,认为我的jquery只是搞砸了,但它似乎是别的。

我可以发布代码..但它只是标题中的常规jquery代码,并在相应页面中打开div。

谢谢!

马库斯

1 个答案:

答案 0 :(得分:0)

好的,所以你从ajax返回占位符div。

我现在看到的问题是,在图表中没有任何关于javascript的信息。

我的建议是拿走你当前的文件。然后改变它:

目前:

$(document).ready(function() {
  // stuff that happens
});

尝试改变:

function documentOnReady() {

var json =  
[ 
    {"dates":"24 feb","visitors":"5"}, 
    {"dates":"25 feb","visitors":"21"}, 
    {"dates":"26 feb","visitors":"14"}, 
    {"dates":"27 feb","visitors":"45"}, 
    {"dates":"28 feb","visitors":"20"}, 
    {"dates":"29 feb","visitors":"18"}, 
    {"dates":"01 mar","visitors":"9"}, 
    {"dates":"02 mar","visitors":"7"}, 
    {"dates":"03 mar","visitors":"42"}, 
    {"dates":"04 mar","visitors":"17"}, 
    {"dates":"05 mar","visitors":"15"}, 
    {"dates":"06 mar","visitors":"9"}, 
    {"dates":"07 mar","visitors":"15"}, 
    {"dates":"08 mar","visitors":"3"}, 
    {"dates":"09 mar","visitors":"3"}, 
    {"dates":"10 mar","visitors":"19"}, 
    {"dates":"11 mar","visitors":"15"}, 
    {"dates":"12 mar","visitors":"11"} 
] ;

    var plot_data = new Array(); 
    var plot_ticks = new Array(); 

    for (var i in json) { 
        i = parseInt(i); 
        plot_data.push([i, json[i].visitors]); 
        plot_ticks.push([i+0.5, json[i].dates]); 
    } 

    $.plot($("#placeholder"),  
         [ 
            {"data": [[0, 0]]},  
            {"data": [[0, 0]]},  
            {"data": [[0, 0]]},  
            {"data": [[0, 0]]},  
            {"data": [[0, 0]]},  
             { 
                 label: "Last 20 days visits", 
                 bars: {"show": "true"}, 
                 data: plot_data 
             } 
         ], 
        { 
             xaxis: { 
               ticks: plot_ticks 
            } 
         } 
     ); 
}
$(document).ready(documentOnReady);

那么在ajax的回调中,你需要再次调用documentOnReady()来重新运行图形渲染代码。