Java jquery未在ajax div中显示图表
我一直在写一个小页面。它位于:-并且正如您所看到的,一个jquery图表显示出来,就像它应该显示的那样 现在问题来了。。这占用了我6个多小时的时间。。。当我单击一个链接(它使用ajax在同一个div中加载一个新页面),然后我试图通过单击正确的链接返回图表时,没有加载任何内容Java jquery未在ajax div中显示图表,java,jquery,ajax,Java,Jquery,Ajax,我一直在写一个小页面。它位于:-并且正如您所看到的,一个jquery图表显示出来,就像它应该显示的那样 现在问题来了。。这占用了我6个多小时的时间。。。当我单击一个链接(它使用ajax在同一个div中加载一个新页面),然后我试图通过单击正确的链接返回图表时,没有加载任何内容 实现这一点的步骤如下所示。加载页面并查看图表 然后在“水厂”标题下点击“测试”。这将向div加载一个新页面 现在,点击链接“查看统计数据”。这将加载回包含图表的完全相同的页面。。除了没有显示图表。jquery在这里似乎不起
- 实现这一点的步骤如下所示。加载页面并查看图表
- 然后在“水厂”标题下点击“测试”。这将向div加载一个新页面
- 现在,点击链接“查看统计数据”。这将加载回包含图表的完全相同的页面。。除了没有显示图表。jquery在这里似乎不起作用。我听说jquery有AJAX问题,因为它只是加载了一个div而不是整个页面,但我从来没有遇到过.live()jquery之类的问题
Marcus好的,那么您将从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()
以重新运行图形呈现代码。查看脚本,我发现您自己使用一个普通的XMLHttpRequest对象实现来执行ajax请求。是否有任何理由不使用jQuery方便、经过测试的跨浏览器$.ajax()
?URL中有一个表,其中包含一个div,它作为ajax调用的responseText返回。你希望得到什么回报?我被教导使用XMLHttpRequest的方式来做ajax。我在事后自学了jquery。我可以尝试通过jquery实现ajax。。。这有可能解决我的问题吗?另外,编辑我的原始帖子,当你第一次加载页面时,图表实际上就在那里。我的jquery不喜欢我的ajax:(在页面的脚本块中,有一个函数functonload()
,它包含一个$(document).ready()
块,在加载DOM时执行-Where/when-doesfunctonload()
get execute?我看不到它在页面或脚本中的位置。哦,你找到了我在10分钟前添加的函数,试图让jquery在ajax div中运行。最初,这个函数调用不存在,我一直在运行jquery。我会把它恢复到原来的状态,暂时不要碰它。Beca当我试图修复一些东西时,我实际上只是把它弄得一团糟。是的,我在div中添加了一个包含标题的页面……有一次我刚刚加载了3行html代码,其中一行是链接到图表的div,但这不起作用,所以我决定将标题添加到div页面。我知道这是可能的我错了,但我尝试了不同的方法来实现它。您好。我明白您的意思,所以我只是将ajax内容恢复到应有的状态,其中只有一个div:“这个div应该有一个通过我的jquery生成的图表。但是它仍然没有运行,因为它似乎看不到新创建的内容…你知道我现在应该做什么吗?你需要让你的javascript将ajax响应放入你的页面,并运行生成图的代码。否则,你将只有一个空div.alri嗯,是的,我明白你的意思,我同意我一直在努力找到一种方法来持续运行ajax代码。所以,我只是尝试了你所说的,没有骰子。也许我搞砸了,但我完全按照你所说的做了。我把jquery放在函数中,在ajax的末尾调用了它。我会保持原样,这样你就可以查看后面的代码了,如果你想要的。我感谢你的帮助和你的时间,天知道我已经在这1个bug上工作了很多个小时,今天我很害怕。你知道有趣的是…当我在那里弹出一个弹出窗口时,图表出现了…我在想也许ajax太快了…有什么想法吗?我会把弹出窗口放在那里,让你看看它如何工作。