单击以在 div 中显示数据时尝试获取链接?
Posted
技术标签:
【中文标题】单击以在 div 中显示数据时尝试获取链接?【英文标题】:Trying to get the links when clicked to show the data in the divs? 【发布时间】:2015-03-15 06:50:18 【问题描述】:我不确定为什么这不起作用。当我单击链接时,数据假设会显示在 div 中,但由于某种原因没有显示任何内容。有人对为什么会这样有任何建议吗?我不确定我的脚本是否设置正确。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="favicon.ico">
<title>test</title>
<!-- Bootstrap core CSS -->
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/custom.css" rel="stylesheet">
<script>
$('a').on('click', function()
var div_id = $(this).data('id');
$('.toggle_content').hide();
$('#' + div_id).toggle();
);
</script>
</head>
<body>
<nav>
<a href="#" target="_top" data-id="one">Received</a>
<a href="#" target="_top" data-id="one">
<?php
//conects to the database
require_once("../db_connect.php");
$stmt = $db->prepare ("SELECT COUNT(*) AS rows_cnt FROM receivingrequests WHERE status='Received'");
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
echo $row['rows_cnt'];
?></a>
<br>
<a href="#" data-id="two">Info Div #2</a><br> <a href="#" data-id="three">Info Div #3</a>
<br>
<a href="#" data-id="four">Info Div #4</a>
</nav>
<div id="one" class="toggle_content">
<?php
//conects to the database
require_once("../db_connect.php");
//prepared statement with PDO to query the database
$stmt = $db->prepare("SELECT * FROM receivingrequests WHERE Status='RECEIVED'");
$stmt->execute();
?>
<?php //start of the while loop ?>
<?php while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) ?>
<table border="1" style="border: thin #000000; table-layout: fixed; width: 100%; background-color: #FFFFFF; display: table;" class="style1">
<tr>
<th style="width:15%; background-color: #000000;color: #FFFFFF;" class="style3">
<strong>Request#</strong></th>
<th style="width:15%; background-color: #000000;color: #FFFFFF;" class="style3">
<strong>Status</strong></th>
<th style="width:20%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Comments</strong></th>
<th style="width:10%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Date Requested</strong></th>
<th style="width:20%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Name</strong></th>
<th style="width:10%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Department</strong></th>
<th style="width:10%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>VasLblDate</strong></th>
</tr>
<tr>
<?php $id = $row['RequestNumber'];?>
<?php echo "<td> <a href='../update.php?id=$id'>$id</a></td>"?>
<td class="style2" style="width: 62px"><strong><?php echo $row['Status']; ?></strong></td>
<td class="style2"><strong><?php echo $row['Comments']; ?></strong></td>
<td class="style2"><strong><?php echo $row['DATEREQUESTED']; ?></strong></td>
<td class="style2"><strong><?php echo $row['EmpName']; ?></strong></td>
<td class="style2"><strong><?php echo $row['Department']; ?></strong></td>
<td class="style2"><strong><?php echo $row['VasLbDate']; ?></strong></td>
</tr>
</table>
<?php //end of the while loop?>
</div>
<div id="two" class="toggle_content">Lorem ipsum... Two</div>
<div id="three" class="toggle_content">Lorem ipsum... Three</div>
<div id="four" class="toggle_content">Lorem ipsum... Four</div>
<!-- Bootstrap core javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="../javascript/jquery.js"></script>
<script src="../javascript/bootstrap.js"></script>
</body>
</html>
【问题讨论】:
您在浏览器的控制台中查看过请求/响应吗?您是否在控制台中看到任何错误? DOM 可能还没有准备好 - 尝试将您的脚本放在页面底部,看看是否有帮助。 我在您的脚本中看不到 jquery。你包括了吗? 对不起,由于某种原因,我在我的页面中确实有它,当我复制和粘贴时忘记留下它。它无法使用它。我将尝试将脚本放在 TJ 建议的底部 我有两个错误我删除了 bootstrap.js 和 bootstrap.css 看起来这是一个错误,它是过时的版本。我遇到的最后一个错误是 Object 不支持“on”属性或方法,它看起来像是来自我的脚本。 【参考方案1】:正如其他海报中提到的那样,您需要将 JQuery 添加到您的项目中。
首先,在您的网页目录中创建一个名为“jquery”的文件夹。然后下载最新的 JQuery js 文件并将其保存在您的“jquery”目录中。
最新的 JQuery(在发布此评论时准确)在这里。 http://code.jquery.com/jquery-2.1.3.min.js
之后,将此代码添加到其他链接所在的位置:
<link href="jquery/jquery-2.1.3.min.js" rel="stylesheet">
然后根据您的网页是在根目录中还是在站点的子目录之一中,根据需要调整您的 href。
【讨论】:
在您发布答案之前,我刚刚在我的评论中发布了该内容 我知道你做到了。您是否引用了正确的文件夹?有时您可能认为您指向了正确的文件夹,而需要更改目录。【参考方案2】:另外,为了在页面完全加载后运行您想要运行的任何代码,请养成使用以下代码包围代码的习惯:
$( document ).ready(function()
...
);
所以对于你的页面,你会想要这个:
<script>
$( document ).ready(function()
$('a').on('click', function()
var div_id = $(this).data('id');
$('.toggle_content').hide();
$('#' + div_id).toggle();
);
);
</script>
【讨论】:
【参考方案3】:我使用了错误的 Jquery。我还需要将 Jquery 脚本放在页面底部。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="favicon.ico">
<title>test</title>
<link href="../css/custom.css" rel="stylesheet">
</head>
<body background="../images/background.jpg">
<nav>
<a href="#" target="_top" data-id="one">Received</a>
<a href="#" target="_top" data-id="one">
<?php
//conects to the database
require_once("../db_connect.php");
$stmt = $db->prepare ("SELECT COUNT(*) AS rows_cnt FROM receivingrequests WHERE status='Received'");
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
echo $row['rows_cnt'];
?></a>
<br>
<a href="#" data-id="two">Info Div #2</a><br> <a href="#" data-id="three">Info Div #3</a>
<br>
<a href="#" data-id="four">Info Div #4</a>
</nav>
<div id="one" class="toggle_content">
<?php
//conects to the database
require_once("../db_connect.php");
//prepared statement with PDO to query the database
$stmt = $db->prepare("SELECT * FROM receivingrequests WHERE Status='RECEIVED'");
$stmt->execute();
?>
<?php //start of the while loop ?>
<?php while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) ?>
<table border="1" style="border: thin #000000; table-layout: fixed; width: 100%; background-color: #FFFFFF; display: table;" class="style1">
<tr>
<th style="width:15%; background-color: #000000;color: #FFFFFF;" class="style3">
<strong>Request#</strong></th>
<th style="width:15%; background-color: #000000;color: #FFFFFF;" class="style3">
<strong>Status</strong></th>
<th style="width:20%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Comments</strong></th>
<th style="width:10%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Date Requested</strong></th>
<th style="width:20%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Name</strong></th>
<th style="width:10%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>Department</strong></th>
<th style="width:10%; background-color: #000000; color: #FFFFFF;" class="style3">
<strong>VasLblDate</strong></th>
</tr>
<tr>
<?php $id = $row['RequestNumber'];?>
<?php echo "<td> <a href='../update.php?id=$id'>$id</a></td>"?>
<td class="style2" style="width: 62px"><strong><?php echo $row['Status']; ?></strong></td>
<td class="style2"><strong><?php echo $row['Comments']; ?></strong></td>
<td class="style2"><strong><?php echo $row['DATEREQUESTED']; ?></strong></td>
<td class="style2"><strong><?php echo $row['EmpName']; ?></strong></td>
<td class="style2"><strong><?php echo $row['Department']; ?></strong></td>
<td class="style2"><strong><?php echo $row['VasLbDate']; ?></strong></td>
</tr>
</table>
<?php //end of the while loop?>
</div>
<div id="two" class="toggle_content">Lorem ipsum... Two</div>
<div id="three" class="toggle_content">Lorem ipsum... Three</div>
<div id="four" class="toggle_content">Lorem ipsum... Four</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script>
$('a').on('click', function()
var div_id = $(this).data('id');
$('.toggle_content').hide();
$('#' + div_id).toggle();
);
</script>
</body>
</html>
</body>
</html>
【讨论】:
以上是关于单击以在 div 中显示数据时尝试获取链接?的主要内容,如果未能解决你的问题,请参考以下文章
单击特定的标签时,我希望显示下面的 div,其中包含其他链接