如何为第二个选项卡设置"class = active"?



我有一些标签。有时第一个选项卡是"介绍",有时"大纲"是第一个选项卡。我已经设置了介绍类=活动时它的第一个。但是当大纲首先出现时,我不知道如何将其类设置为活动状态。

代码如下所示

<ul class="nav-tabs" role="tablist">
    <?php 
    $tabs = array();
    if(!$sessId == "" && !$checkcourse){
        $tabs = array("introduction"=>true, "outline"=>true,"announcement"=>false,"discussion"=>false,"review"=>true, "student"=>true, "comment"=>true); 
    } else if($sessId == "") {
        $tabs = array("introduction"=>true, "outline"=>true,"announcement"=>false,"discussion"=>false,"review"=>true, "student"=>false, "comment"=>true); 
    } else {
        $tabs = array("introduction"=>false, "outline"=>true,"announcement"=>true,"discussion"=>true,"review"=>true, "student"=>true, "comment"=>false); 
    }
    ?>                              
    <?php if($tabs['introduction']) { ?>
        <li class="active"><a href="#introduction" role="tab" data-toggle="tab">Introduction</a></li>
    <?php } ?>
    <?php if($tabs['outline']) { ?>
        <li><a href="#outline" role="tab" data-toggle="tab">Outline</a></li>
    <?php } ?>
    <?php if($tabs['review']) { ?>
        <li><a href="#review" role="tab" data-toggle="tab">Review</a></li>
    <?php } ?>
    <?php if($tabs['student']) { ?>
        <li><a href="#student" role="tab" data-toggle="tab">Student</a></li>
    <?php } ?>
    <?php if($tabs['comment']) { ?>
        <li><a href="#comment" role="tab" data-toggle="tab">Comment</a></li>
    <?php } ?>
    <?php if($tabs['announcement']) { ?>
        <li><a href="#announcement" role="tab" data-toggle="tab">Announcement</a></li>
    <?php } ?>
    <?php if($tabs['discussion']) { ?>
        <li><a href="#discussion" role="tab" data-toggle="tab">Discussion</a></li>
    <?php } ?>                  
</ul>

使用三元运算符的简单检查是:

<?php if($tabs['outline']) {?>
    <li <?=$tabs['introduction']? '' : ' class="active"';?>><a href="#outline" role="tab" data-toggle="tab">Outline</a></li>
<?php } ?>

所以你检查$tabs['introduction']是否设置,那么你不需要class="active",否则 - 添加这个类。

更新:但是由于选项卡的第一项可能会更改,我建议创建简单的foreach

$is_first = true;
foreach ($tabs as $tab_name => $value) {
    if ($value) {
        echo '<li' . ($is_first? ' class="active"' : '') . '><a href="#' . $tab_name . '" role="tab" data-toggle="tab">' . $tab_name . '</a></li>';
        $is_first = false;  // fix that we have first value here
    }
}

在这里,您的主要问题是如何链接href值和标题。

最新更新