Php codeigniter ajax选项卡

Php codeigniter ajax选项卡,php,ajax,codeigniter,jquery-tabs,Php,Ajax,Codeigniter,Jquery Tabs,我需要用CodeIgniter构建一些ajax选项卡。我遇到的问题是,我需要在一个选项卡中存储大量信息,而每个选项卡中的信息都不同,因此我不能使用HTML模板,而只是用不同的值填充数据。提供标记的设计器对其进行了样式设置,以便隐藏每个html部分。 所以我的问题是我应该怎么做?获取每个ajax调用所需的值,并按上下文填充每个选项卡,或者为每个选项卡加载单独的页面。因此html和数据位于不同的页面上。我试图在CodeIgniter中实现这一点,但在MVC环境中无法实现。解决方案1。通过Codeig

我需要用CodeIgniter构建一些ajax选项卡。我遇到的问题是,我需要在一个选项卡中存储大量信息,而每个选项卡中的信息都不同,因此我不能使用HTML模板,而只是用不同的值填充数据。提供标记的设计器对其进行了样式设置,以便隐藏每个html部分。
所以我的问题是我应该怎么做?获取每个ajax调用所需的值,并按上下文填充每个选项卡,或者为每个选项卡加载单独的页面。因此html和数据位于不同的页面上。我试图在CodeIgniter中实现这一点,但在MVC环境中无法实现。

解决方案1。通过Codeigniter控制器加载所有数据,并使用Javascript显示/隐藏选项卡。 禁用JS时:在一个页面上显示所有数据

解决方案2。通过ajax为每次打开选项卡的单击调用服务器,然后调用控制器。 要能够从Javascript调用控制器,您需要基本url:

或者将$.ajax用于complexer。 禁用JS时:每次单击都会加载一个新视图


首先在没有JS的情况下构建它,然后覆盖它。

您可以直接从控制器加载所有信息,并将数据传递到主视图。 Codeigniter为视图提供第三个参数来执行此操作:

$string = $this->load->view('myfile', '', true);
在本例中,您将myfile的所有数据放入$string中

您可以将数据放入与模板分离的视图中,然后加载它

例如:

$info_tab['first_tab'] = $this->load->view('first_tab_content', '', true);
$info_tab['second_tab'] = $this->load->view('second_tab_content', '', true);
$this->load->view('html_template',$info_tab);

这样,视图中就有了两个新变量

最好的方法是使用条件语句在部分视图中加载(通过传递false作为第三个视图参数来加载部分视图,该参数将为您提供一个字符串)。Tab1可能需要满足0个条件,tab2可能需要满足2个条件,依此类推。最好的选择可能是使用HMVC插件

<ul class="tabs">
    <li><a href="#tab-one">Tab One</a></li>
    <li><a href="#tab-two">Tab Two</a></li>
    <li><a href="#tab-three">Tab Three</a></li>
</ul>
-

查看一个

PHP
    if(condition_is_meet):
    // do something
PHP
    else:
    //do something else
PHP
    endif;

我已经尝试加载所有页面,但无法加载,从ajax控制器加载整个页面
<div id="tab-one" class="tab-content">
    <?php echo Modules::run('module/tab_one'); ?>
</div>
<div id="tab-two" class="tab-content">
    <?php echo Modules::run('module/tab_two'); ?>
</div>
<div id="tab-three" class="tab-content">
    <?php echo Modules::run('module/tab_three'); ?>
</div>
public function tab_one(){
    $this->load->view('module/partials/view_one', array(), false)
}
PHP
    if(condition_is_meet):
    // do something
PHP
    else:
    //do something else
PHP
    endif;