使用jQuery在表单上加载HighCharts图表/数据

时间:2016-02-26 16:02:47

标签: javascript php jquery forms highcharts

我有一个带有表单的PHP页面,在提交时应该返回一个HighCharts图表和一个包含数据图表的表格。表单向另一个PHP文件发送$ _POST请求,该文件检索变量,查询数据库,并将数据作为数组返回,该数组作为多个系列添加到HighCharts脚本并输出到表中。

我希望图表和表格在提交表单之前不可见,但无论我如何编码,我都无法改变2 DIV的可见性。页面加载时,会触发此jQuery:

@Path("{id}")
function Class<ObjectFieldResource> getObjectById(@PathParam("id") String id){
    return ObjectFieldResource.class;
}

提交表单后,将返回所有数据,我可以在检查器中看到所有数据,但$(function() { $('#tableData').hide(); $('#chart-container').hide(); $('#submit').click(function() { $('#tableData, #chart-container').show(); }); #tableData div仍显示#chart-container。< / p>

我尝试将display:none方法绑定到.show个事件,.on个事件和.click个事件,但都没有效果。

阅读HighCharts API参考,看起来我需要创建一个单独的函数来请求数据,然后在.submit事件中调用该函数,我只是无法弄清楚如何去做。我没有使用AJAX来返回数据,这是他们在示例中显示的方法。

如果单击提交按钮,如何隐藏这些div并显示它们?

1 个答案:

答案 0 :(得分:1)

我认为发生的事情是,每次提交页面时,.hide方法都会隐藏div,即使返回了数据。

我最终将2个div移动到条件PHP语句中,因此除非POST请求具有某些值,否则它们不存在。完全删除了jQuery并且它正在工作,虽然我仍然很好奇它为什么不在之前。