我正在使用代码IGNITER,在我的视图中,我有三种方法调用其各自的控制器方法,该方法加载来自数据库的数据。我在单独的函数中立即调用所有这些方法。我遇到的问题是,某些方法在不同的时间显示。在最后一个功能完成加载后,我有什么办法可以实现它,同时所有三个功能都同时显示他们的数据?这就是我目前拥有的
function function1()
{
$("#container1").load("/method1/");
}
function function2()
{
$("#container2").load("/method2/");
}
function function3()
{
$("#container3").load("/method3/");
}
这是调用所有3个函数
的主要功能function callall()
{
function1();
function2();
function3();
}
load
接受完整的回调。您可以隐藏所有元素,然后仅在该回调后显示它们3次。
编辑:代码
$("#container1").load("/method1/", handleCompleted); // put handleCompleted in all 3
completedCount = 0
function handleCompleted() { completedCount++; if(completedCount == 3) showAll() }
而不是
function function1()
{
return data1;
}
function function2()
{
return data2;
}
function function3()
{
return data3;
}
function callall()
{
$data[1] =function1();
$data[2] = function2();
$data[3] = function3();
$data['container3'] = $this->load->view('view', $data, TRUE);
}
实际代码可能有所不同。