【问题标题】:Hide a <li tab if a condition is met [duplicate]如果满足条件,则隐藏 <li 选项卡[重复]
【发布时间】:2015-09-12 20:25:12
【问题描述】:

我有一个检查用户是否有图片的 foreach 外观。如果用户没有图片,我想隐藏一个显示图片的&lt;li&gt; 选项卡。

在我的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>

页面外观图片:

【问题讨论】:

  • 这是tab1 tab2?
  • tabpage_2tabHeader_2对应tab2。
  • 请不要使用 [bootstrap] 作为标签。那是另一回事

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


【解决方案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>

【讨论】:

    【解决方案2】:

    我不是 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>
    

    如果您输入真实代码,则更容易看出您是如何布置元素的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 2014-02-03
      • 2020-09-08
      • 2017-01-13
      • 1970-01-01
      • 2017-09-15
      • 2021-08-30
      相关资源
      最近更新 更多