如何在加载页面时自动设置页面

时间:2015-01-06 05:50:55

标签: php jquery codeigniter

我希望在每个页面加载时更改活动类。我的jquery代码是

$(document).ready(function () {
$('.nav li a').click(function(e) {

    $('.nav li a.active').removeClass('active');

    $(this).addClass('active');
    e.preventDefault();
});
});

我的html代码是

<ul class="nav nav-stacked bg-nav">
            <li class="active"><a href="<? echo base_url(); ?>index.php/admin/admin_home"><span     class="glyphicon glyphicon-home"></span>&nbsp;Home</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_student">Student</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_teacher">Teacher</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_parent">Parent</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_subject">Subject</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_class">Class</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_exam">Exam</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_mark_attendence">Marks</a>    </li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_grade">Exam Grade</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_routine">Class Routine</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_payment">Payment</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_library">Library</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_transport">Transport</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_notice">Notice Board</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_settings">Settings</a></li>
            <li><a href="<? echo base_url(); ?>index.php/admin/admin_profile">Profile</a></li>
        </ul>
问题是 1.它没有显示第一页即。家..活跃。其他人都很好 2.它不会重定向到href中定义的网址。

1 个答案:

答案 0 :(得分:0)

逻辑可以在Codeigniter中使用PHP,我想你不需要在这里使用jquery,

如果您在控制器中调用admin_student函数,则为li传递活动类,

// in controller
$activeClass='admin_student';

在视图页面中使用像

这样的开关案例
$activeClass=isset($activeClass) ? $activeClass : 'admin_home';
$admin_student='';//make variables for all li
$admin_home='';
switch($activeClass){
    case 'admin_student':
        $admin_student='active';
        break;
    ....
    default:
        $admin_home='active';
        break;
}

并将此变量添加到您的li中,

<li class="<?php echo $admin_home;?>"><a href="...">Home</a></li>
<li class="<?php echo $admin_student;?>"><a href="...">Student</a></li>

这将解决您的第一个问题,并且由于使用e.preventDefault()而出现第二个问题,因此如果您想要重定向网址,请不要使用它。

相关问题