在CodeIgniter中加载视图后调用函数

时间:2014-06-19 14:02:14

标签: codeigniter view

我有这段代码。

function index(){
    $this->load->helper('url');
    $this->load->view('EIM/home');
        $this->loadGraphs();
}

但它首先执行loadGraphs。我真的不知道为什么。请帮我。我很难修复我的代码。谢谢:))

这是我的loadGraphs函数:

`function loadGraphs(){         $这 - >负载>辅助( 'URL');         $ CTR = 0;         $ base_url = base_url();         $ xml = new DOMDocument;         $ XML->负载( “” $ BASE_URL。 “资产/ EIM / XML / defaultChart.xml”);         $ module_names = $ XML->的getElementsByTagName( “名称”);         $ len_modules = $ module_names->长度;         $ ctr_module = 0;         而($ ctr_moduleitem($ ctr_module) - >的getElementsByTagName( “报告”);             $ len_reports = $报告 - >长度;             $ ctr_report = 0;             而($ ctr_reportitem($ ctr_module) - >的getAttribute( “值”);                 $标题= $报告 - >项目($ ctr_report) - >的getElementsByTagName( “标题”) - >项(0) - >的nodeValue;                 $ dashboard_selected = $报告 - >项目($ ctr_report) - >的getAttribute( “ID”);                 如果($ dashboard_selected == “仪表板”){                     回声“                                                                                                                                                                  $标题                                 $模块“;                                 ?>                                                                              var parameters = eval(getArray($ title,$ module));?>)                                                                          项($ ctr_report) - >的getElementsByTagName( “图表”) - >项(0) - >的getAttribute( “值”);                                 $ defaultChart = $报告 - >项目($ ctr_report) - >的getElementsByTagName( “图表”) - >项(0) - >的getAttribute( “值”);                                 echo“$ defaultChart”;                                 $图表= $报告 - >项目($ ctr_report) - >的getElementsByTagName( “图表”) - >项(0) - >的getElementsByTagName( “图”);                                 $ len_charts = $ charts->长度;                                 $ ctr_chart = 0;                                 而($ ctr_chartitem($ ctr_chart) - >的nodeValue;                                     回声“                                                                          “;

                                $ctr_chart++;
                            }
                            echo"
                                <input type='submit' value='Set Chart as Default' onClick='set_default_chart('chart$ctr',$ctr_module,$ctr_report)'/>
                            ";
                            echo "
                            <button class='btn btn-box-right' data-toggle='collapse' data-target='#container".$ctr."'>
                                <i class='icon-reorder'></i>
                            </button>
                        </div>
                        <div class='box-content box-list collapse in'>
                            <div id='container".$ctr."' style='min-width: 310px; height: 400px; margin: 0 auto'></div>
                        </div>
                    </div>
                </div>
            ";

            $ctr++;
            }
            $ctr_report++;
        }
        $ctr_module++;
    }
    echo "<label id='containers' value='$ctr'></label></div>";
}`

它有点长,但它的作用是它使容器准备好,我的java脚本可以加载并完全显示图形。它在document.ready函数中。在加载视图之前,它可能会优先考虑具有函数的代码吗?

1 个答案:

答案 0 :(得分:0)

你可以尝试在加载后从视图中通过AJAX加载loadGraphs()函数的结果吗?所以基本上在$ this-&gt; load-&gt;视图('EIM / home')之后删除该调用,并在同一视图中,在documentReady中,使用简单的jQuery.Get函数来获取视图中所需的代码。如果在视图100%之后,那将加载。

http://api.jquery.com/jquery.get/

不确定您的流量是否是最好的方法,但这应该有用。

希望它有所帮助! :)