加载页面时,未打开正确的选项卡

时间:2016-08-05 12:04:17

标签: php jquery html codeigniter

我正在使用codeigniter创建一个Web应用程序,当用户使用无效凭据注册时,我正在尝试重新加载位于我的身份验证视图中的注册选项卡,当身份验证视图重新加载我的登录选项卡时首先显示因为默认情况下,此项设置为活动选项卡。

身份验证视图

<div class="row">
    <div class="medium-12 columns">
<ul class="tabs" data-tabs id="authentication_tab">
  <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">Login</a></li>
  <li class="tabs-title"><a href="#panel2">Sign Up</a></li>
</ul>
<div class="tabs-content" data-tabs-content="authentication_tab">
  <div class="tabs-panel is-active" id="panel1">
  <?php $this->load->view('authentication/login');?>
  </div>
  <div class="tabs-panel" id="panel2">
  <?php $this->load->view('authentication/reg');?>
  </div>
</div>
</div>
</div>
<?php $this->load->view('templates/footer');?>

在验证发生后加载我的身份验证视图

public function reg()
    {
$data['title'] = 'Home Page';
$this->load->view('templates/header',$data);
$this->load->view('authentication/authentication#panel2');
    }

1 个答案:

答案 0 :(得分:0)

在您使用的任何控制器中,只需决定(根据所采取的操作)您要打开哪个选项卡。让我们说你想要的标签是'thisOne',然后将变量传递给你的视图,比如$ open_tab ='thisOne'。

在您的视图中,在每个选项卡之前,只需检查变量以查看它是否等于当前选项卡,然后设置一个类。 使用此:

<?php echo ('name_of_tab' == $open_tab) ? 'is_active' : ''; ?>

In your tab LI
<li class="tabs-title <?php echo ('name_of_tab' == $open_tab) ? 'is_active' : ''; ?>">Blah Blah</li>

在您的控制器中,您可以先设置默认选项卡,然后根据用户的帖子或操作等来设置默认选项卡。

希望有所帮助,

保罗。