隐藏<li tab =“”if =“”a =“”condition =“”is =“”met =“”

时间:2015-06-26 02:05:44

标签: php html twitter-bootstrap yii html-lists

=“”

我有一个foreach外观,检查用户是否有图片。如果用户没有图片我想隐藏显示图片的<li>标签。

在我的else内,我怎么说,对于这个用户隐藏标签2?

我尝试使用echo 'id="tabHeader_2" style:"visibility:hidden";但这不起作用。我需要一个对tab2的引用,不是吗?

<div id="picture<?php echo $i ?>" style="display: none;">
<?php
      $picture = $user->pic;
      if(isset($picture))
      {
         // show picture.           
      }
      else
      {
        // hide tab2
      }                   
  ?>    
 </div>             

然后是标签列表:

 <div class="profiles">
     <div id="tabContainer">
         <div class="tabs">
            <ul>
              <li id="tabHeader_1"> Profile </li>
              <li id="tabHeader_2"> Picture </li>
             </ul>
         </div>
         <div id="tabsContent">
              <div class="tabpage" id="tabpage_1"></div>
              <div class="tabpage" id="tabpage_2"></div>
         </div>
         <script src="<?php echo Yii::app()->theme->baseUrl; ?>/js/tabs.js"></script>
     </div>
 </div>

页面的图片:

enter image description here

2 个答案:

答案 0 :(得分:0)

我对您的代码并不是100%确定,但您使用的isset()不正确,因为您将该变量设置在该检查后面,因此它将在100%的时间内设置。您可能希望检查empty()is_file(),具体取决于该变量中的内容。

<!-- This display: none seems strange if you are going to show the wrapped elements -->
<div id="picture<?php echo $i ?>" style="display: none;">
<?php

      $picture = $user->pic;
      if(!empty($picture)) {
         // show picture.           
      }
      else {
        // hide tab2
      }                   
  ?>    
 </div>

如果你输入真实的代码,就会更容易看出你如何布置元素。

答案 1 :(得分:-1)

喜欢这样: -

<div class="tabs">
  <ul>
      <?php
      $i = 1;
      foreach($yourarray as $key => $value){
           if(isset($value) && $value != '')
           ?>
               <li id="tabProfileHeader<?php echo $i;?>"> Profile </li>
               <li id="tabPictureHeader<?php echo $i;?>"> Picture </li>
            <?php
         $i++;
         }
         ?>
     </ul>
</div>