我有一个带有图表的主页面,一个下拉框允许用户选择他们想要查看的图表。
当下拉列表发生变化时,我希望AJAX从我的文件graphmaker.php加载正确的图形。该文件包含适当DIV中的所有图形,即graph1,graph2等。
这些图表是使用Google Charts Visualization生成的。
然而,当我这样做时,AJAX只会加载一个空盒子,而我所研究的是因为页面上的脚本没有被执行。
从本质上讲,我希望Ajax:
我的代码:
function switchgraph(graph) {
var switchto = $("#graph"+graph+"_dd").val();
$('#graph'+graph).load('graphmaker.php #'+switchto);
}
有什么建议吗?
戴夫
答案 0 :(得分:2)
在AJAX调用结束后,选择相关的图表,而不是使用带有load
,which removes the scripts的选择器:
function switchgraph(graph) {
var switchto = $("#graph"+graph+"_dd").val();
$('#graph'+graph).load('graphmaker.php', function onComplete() {
function doMoveGraph() {
$('#graph' + graph).empty().append(toBeUsed);
}
function checkMoveGraph() {
if (!toBeUsed.is(":empty")) {
doMoveGraph();
} else {
setTimeout(checkMoveGraph, 100);
}
}
var toBeUsed = $(this).find('#'+switchto);
setTimeout(checkMoveGraph, 100);
});
}
答案 1 :(得分:0)
答案 2 :(得分:0)
我建议您使用$ .post函数,而不是$ .ajax,所以尝试这样的事情:
$.post('graphmaker.php', { data : dataSource },
function(data) {
//On Success
}
)