我希望在每个页面加载时更改活动类。我的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> 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中定义的网址。
答案 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()
而出现第二个问题,因此如果您想要重定向网址,请不要使用它。