当我包含文件header.php
时,我面临着 jQuery 的问题,index.php
无法运行。导航侧边栏包括在内,但是当我按下 V 形时,什么也没发生?它仅在我直接包含header_user.php
而不检查header.php
中的UserType
时才有效。我不能直接包含header_user.php
,因为我需要根据UserType
显示页面。在此代码中,假设当前UserType
是USER
。请帮忙。我不知道问题出在哪里。
索引.php
<?php
require_once 'session.php';
require_once 'connection.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nav Sidebar</title>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="bootstrap/css/dashboard.css" rel="stylesheet">
<script>
var change = true;
$(document).ready(function () {
$('[data-toggle=offcanvas]').click(function () {
$('.row-offcanvas').toggleClass('active');
});
});
function toggle_caret() {
$("#caret1").toggleClass("glyphicon-chevron-down", change);
$("#caret1").toggleClass("glyphicon-chevron-left", !change);
change = !change
}
</script>
</head>
<body>
<?php include 'header/header.php'; ?>
<script src="jquery-1.11.1.min.js"></script>
<script src="bootstrap.min.js"></script>
</body>
</html>
标头.php
<?php
$UType = $_SESSION['UserType'];
$tsql = "SELECT * FROM [dbo].[LOGIN] WHERE UserType='$UType'";
$result = sqlsrv_query( $conn, $tsql, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));
while($row=sqlsrv_fetch_array($result))
{
if($UType == "USER")
{
include 'header_user.php';
}
else if ($UType == "SUPERIOR")
{
include 'header_superior.php';
}
else if ($UType == "ADMIN")
{
include 'header_admin.php';
}
else
die("Not a Valid User Type.");
}
?>
header_user.php
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<ul class="nav nav-sidebar">
<li class="active"><a href="#"><span class="glyphicon glyphicon-dashboard"></span> Dashboard<span class="sr-only">(current)</span></a>
</li>
<li onclick="toggle_caret()"><a href="#" data-toggle="collapse" data-target="#sub1"><span class="glyphicon glyphicon-list-alt"></span> Requisition<small><span style="float:right" id="caret1" class="glyphicon glyphicon-chevron-down"></span></small></a>
</li>
<ul class="nav collapse" id="sub1">
<li><a href="#"><span class="glyphicon glyphicon-file"></span> Form</a>
</li>
<li class="nav-divider"></li>
<li><a href="#">Status</a>
</li>
<li><a href="#"><span class="glyphicon glyphicon-ok"></span> Approved</a>
</li>
<li><a href="#"><span class="glyphicon glyphicon-remove"></span> Rejected</a>
</li>
<li><a href="#"><span class="glyphicon glyphicon-refresh"></span> In Process</a>
</li>
</ul>
</ul>
<ul class="nav nav-sidebar">
<li class="nav-divider"></li>
<li><a href="#"><span class="glyphicon glyphicon-search"></span> Search</a>
</li>
</ul>
</div>
编辑
我发现在我按如下方式更改查询后,jQuery 起作用了。有人可以解释为什么会这样吗?
标头.php
<?php
$UType = $_SESSION['UserType'];
if($UType == "USER")
{
include 'header_user.php';
}
else if ($UType == "SUPERIOR")
{
include 'header_superior.php';
}
else if ($UType == "ADMIN")
{
include 'header_admin.php';
}
else
die("Not a Valid User Type.");
?>
我刚刚收集了所有源代码并在本地测试了您的 HTML。我遇到了一些错误,所以我建议将您的代码更改为:
index.php (将 JS 代码移到 jQuery 和 Bootstrap 脚本标签下)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
require_once 'session.php';
require_once 'connection.php';
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nav Sidebar</title>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="bootstrap/css/dashboard.css" rel="stylesheet">
</head>
<body>
<?php include 'header/header.php'; ?>
<script src="jquery-1.11.1.min.js"></script>
<script src="bootstrap.min.js"></script>
<script>
var change = true;
$(document).ready(function () {
$('[data-toggle=offcanvas]').click(function () {
$('.row-offcanvas').toggleClass('active');
});
});
function toggle_caret() {
$("#caret1").toggleClass("glyphicon-chevron-down", change);
$("#caret1").toggleClass("glyphicon-chevron-left", !change);
change = !change
}
</script>
</body>
</html>
header.php (删除了数据库代码,因为这似乎是问题的根源)
<?php
$UType = $_SESSION['UserType'];
if($UType == "USER")
{
include 'header_user.php';
}
else if ($UType == "SUPERIOR")
{
include 'header_superior.php';
}
else if ($UType == "ADMIN")
{
include 'header_admin.php';
}
else
{
die("Not a Valid User Type.");
}
?>
header_user.php(添加缺少的结束div
标记)
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<ul class="nav nav-sidebar">
<li class="active"><a href="#"><span class="glyphicon glyphicon-dashboard"></span> Dashboard<span class="sr-only">(current)</span></a>
</li>
<li onclick="toggle_caret()"><a href="#" data-toggle="collapse" data-target="#sub1"><span class="glyphicon glyphicon-list-alt"></span> Requisition<small><span style="float:right" id="caret1" class="glyphicon glyphicon-chevron-down"></span></small></a>
</li>
<ul class="nav collapse" id="sub1">
<li><a href="#"><span class="glyphicon glyphicon-file"></span> Form</a>
</li>
<li class="nav-divider"></li>
<li><a href="#">Status</a>
</li>
<li><a href="#"><span class="glyphicon glyphicon-ok"></span> Approved</a>
</li>
<li><a href="#"><span class="glyphicon glyphicon-remove"></span> Rejected</a>
</li>
<li><a href="#"><span class="glyphicon glyphicon-refresh"></span> In Process</a>
</li>
</ul>
</ul>
<ul class="nav nav-sidebar">
<li class="nav-divider"></li>
<li><a href="#"><span class="glyphicon glyphicon-search"></span> Search</a>
</li>
</ul>
</div>
</div>
</div>