分页改为"活跃"用jquery

时间:2016-08-20 16:34:52

标签: php html

我有以下创建分页:



pagenumber




现在我想将课程pagenumber更改为&#34; pagenumberselected&#34;如果来自?p=5的href包含当前页面中的localhost/myproject/downsite?p=5One Color <input type="radio" name="NumberOfColors" <?php if (isset($NumberOfColors) && $NumberOfColors=="oneColor") echo "checked";?> id="oneColor" value="oneColor"><br> Two Colors <input type="radio" name="NumberOfColors" <?php if (isset($NumberOfColors) && $NumberOfColors=="twoColor") echo "checked";?> id="twoColor" value="twoColor"/><br> Three Colors <input type="radio" name="NumberOfColors" <?php if (isset($NumberOfColors) && $NumberOfColors=="threeColor") echo "checked";?> id="threeColor" value="threeColor"/><br> Four Colors <input type="radio" name="NumberOfColors" <?php if (isset($NumberOfColors) && $NumberOfColors=="fourColor") echo "checked";?> id="fourColor" value="fourColor"/><br> Five Colors <input type="radio" name="NumberOfColors" <?php if (isset($NumberOfColors) && $NumberOfColors=="fiveColor") echo "checked";?> id="fiveColor" value="fiveColor"/><br><br>

2 个答案:

答案 0 :(得分:1)

由于类和链接是在页面加载(通过php)上设置的,因此在页面加载时定义了类。单击该链接将重新加载(或更改)页面,如果您希望在p = 5时更改类,您只需要一个php条件来定位该页码并更改类(当页面加载时)。 / p>

<?php  
for($i = 1; $i<=10; $i++){ 
   if (i == 5 ) {
?>
     <a class="pagenumber selected" href="?p=<?php echo $i; ?>"><?php echo $i; ?></a>

<?php  } else {  ?>
     <a class="pagenumber" href="?p=<?php echo $i; ?>"><?php echo $i; ?></a>

<php  } } ?>

我实际上更喜欢下面的代码,但实质上它们都是相同的东西,它只取决于你对回显HTML的看法,而不是将它从PHP脚本中拆分。

<?php  
for($i = 1; $i<=10; $i++){
   if ($i == 5 ) {
    //change link where p=5
     echo '<a class="pagenumber selected" href="?p='.$i.'">'.$i.'</a>';
   } else {
    //all links where p!=5
     echo '<a class="pagenumber" href="?p='.$i.'">'.$i.'</a>';
   }
 } ?>
通过检查链接的href,然后添加/删除类,可以在页面加载后使用jQuery 执行此操作。但是,在实施更改之前,您已等待以加载页面。通过在php中执行此操作,页面可以根据需要加载,而无需等待javascript加载和运行。

当前页面等于链接时,您也可以使用$_GET[]变量更改页面链接

<?php  
if (isset($_GET['p'])) { 
   $thispage = $_GET['p']; 
} else {
    $thispage = ''; 
}

for($i = 1; $i<=10; $i++){
   if ($i == $thispage) {
    //change link when link = current page
     echo '<a class="pagenumber selected" href="?p='.$i.'">'.$i.'</a>';
   } else {
    //all links when link != current page
     echo '<a class="pagenumber" href="?p='.$i.'">'.$i.'</a>';
   }
 } ?>

答案 1 :(得分:0)

您需要使用$_GET全局数组来处理来自网址的参数。您可以通过参数名称访问它:$_GET['p']。检查参数是否存在也很重要。您可以使用isset方法实现此目的。解决方案:

<?php for($i = 1; $i <= 10; $i++): ?>
    <?php if(isset($_GET['p']) && $_GET['p'] == $i): ?>
        <a class="pagenumberselected" href="?p=<?php echo $i; ?>"><?php echo $i; ?></a>
    <?php else: ?>
        <a class="pagenumber" href="?p=<?php echo $i; ?>"><?php echo $i; ?></a>
    <?php endif; ?>
<?php endfor; ?>