2017-04-14 35 views
0

我有一些標籤。在這種情況下,有時候第一個標籤是「介紹」,有時候「outline」是第一個標籤。首先,我已經設置了引入類= active。但是,當輪廓首先我不知道如何設置它的類爲活動。如何爲第二個選項卡設置「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> 

回答

1

與三元操作簡單檢查:

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

所以,你是否$tabs['introduction'] isset那麼你不需要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值和標題。

+0

對於大綱選項卡它沒關係。我想在未來的時間裏爲其他條件激活一些其他選項卡該怎麼辦? – Kevin

+0

從目前的情況來看,我看到的解決方案是檢查數組中的前一個鍵是否爲'true'。如果這是真的 - 你不需要'積極',否則 - 你確實需要。 –

+0

但我認爲更合理的是對你的'$ tabs'數組做一個foreach,並檢查當前元素是否是第一個元素。 –

相關問題