【问题标题】:set active class for dynamically generated links in php在 php 中为动态生成的链接设置活动类
【发布时间】:2018-05-13 08:16:29
【问题描述】:

在我的应用程序中有一个页面,我根据 mysql DB 中的数据生成动态链接。我的任务是为所选链接设置class="active"。如果链接是静态的,我可以使用页面名称like this 提供活动类。但是在我的情况下该怎么办?有什么办法可以做到吗?

这是我的代码:

                <div class="select-region clearfix">
                <input type="hidden" id="rgnId" name="rgnId">
                <input type="hidden" id="hltypId" name="hltypId">
                <ul class="nav">
                    <li>Select your region</li>
                     <li value="0"><a class="active" id="show_0" onClick="UAEHolydayDetails(0)">All<span class="badge"><?php echo $uaedetailscount?></span></a></li> 
                    <?php
                     $i=0;
                      while($rowrgn = $rsltrgn->fetchAssoc())
                      {
                      ?>
                        <li><a  id="show_<?php echo $rowrgn['rgnId']; ?>" onClick="UAEHolydayDetails(<?php echo $rowrgn['rgnId']; ?>)"><?php echo $rowrgn['rgnName']; ?><span class="badge">
                            <?php echo $rowrgn['regioncount'];?></span></a></li>  
                  <?php } ?>
                </ul>
            </div>

谁能帮帮我

编辑 1

当我单击这些动态链接中的任何一个时,它会通过 js 将 id 传递到同一页面,并且该页面将使用来自 DB 的数据填充,基于此 paseed id,如下所示: onClick="UAEHolydayDetails(&lt;?php echo $rowrgn['rgnId']; ?&gt;)"

js:

<script>
function HolytypeDetails(id){
$('#hltypId').val(id);
window.location='uae-holidays.php?hltypId='+id;
}
</script>

在脚本中,window.location 中的页面是自身生成链接的页面

【问题讨论】:

  • 那么,您有关于当前所选区域的任何信息吗?
  • 我没明白你的意思。但是在这里,当我单击任何链接时,传递了 id 并且页面中填充了基于该 ID 的数据。
  • 所以您可以使用$_GET['regionId']? 之类的方式访问当前区域ID?然后您可以简单地检查当前 regionId 是否等于您当前在循环中回显的那个。 $rowrgn['rgnId'] === $_GET['regionId'] ? 'class="active"' : ''.

标签: php css


【解决方案1】:

当然。这是同一件事。您需要知道您的活动商品 ID,并根据此信息选择您想要的商品。

<?php
  $activePageId = 5;

  $i=0;
  while($rowrgn = $rsltrgn->fetchAssoc())
  {
?>
  <li <?php if($rowrgn['rgnId'] === $activePageId){ ?>class="active"<?php } ?>><a id="show_<?php echo $rowrgn['rgnId']; ?>" onClick="UAEHolydayDetails(<?php echo $rowrgn['rgnId']; ?>)"><?php echo $rowrgn['rgnName']; ?><span class="badge">
  <?php echo $rowrgn['regioncount'];?></span></a></li>  
<?php } ?>

【讨论】:

    【解决方案2】:

    您可以只使用选择器通过 href 抓取它

    jquery 示例:

    $('nav a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active'); 
    

    【讨论】:

      猜你喜欢
      • 2014-01-08
      • 2017-05-16
      • 2012-09-18
      • 2021-01-27
      • 1970-01-01
      • 2013-06-07
      • 2021-06-06
      • 2011-08-30
      • 2017-09-24
      相关资源
      最近更新 更多