单击以在 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>&nbsp;<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>&nbsp;<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 内容

当我尝试使用for循环单击所有链接时,硒显示陈旧错误?

单击特定的标签时,我希望显示下面的 div,其中包含其他链接

为 android 应用项目创建链接,用户可以单击以在应用中查看它

如何单击以在多个实例中相互独立地滑动打开的 div?

如何将图像 URL 链接到另一个 URL 以在颤动中显示有关第一个 URL 的一些信息?