【问题标题】:Refresh div with onclick function?使用onclick功能刷新div?
【发布时间】:2014-09-24 02:13:14
【问题描述】:

在我的div 中,我通过 PHP 协议显示了包含来自数据库的数据的表,但是,当我切换到另一个 div 并返回显示数据库的 div 时,我看不到数据了,它只是一个空白表。所以我想我应该在我的javascript中添加重新加载功能,对吗?请帮我摆脱困境

这是我的代码

<div id="container1">

     <table width="313" border="1">
       <tr>
         <td width="103" height="62"><div align="center">Latitude</div></td>
         <td width="194" class="style5"> <div id="lat" align="center" class="style6">
           <?php 
           const DB_HOST1 = 'localhost';
    const DB_USER1 = 'root';
    const DB_PASS1 = '';
    const DB_NAME1 = 'gmap';
    $mysqli1 = new mysqli(DB_HOST1, DB_USER1,DB_PASS1 ,DB_NAME1);
 if ($mysqli1->connect_errno) {
        echo "<p>MySQL error no {$mysqli1->connect_errno} : {$mysqli1->connect_error}</p>";
        exit();
    }
    $query1 = "SELECT * FROM gmaptracker1 ORDER BY id DESC LIMIT 1";
$result1 = $mysqli1->query($query1);
if (!$result1) {
 echo "Invalid query:  {$mysqli1->query($query1)}:{$mysqli1->query($query1)}";
}
           while ($row1 = @mysqli_fetch_assoc($result1)){echo  $row1['lat'] . ',N '; ?>
         </div></td>
       </tr>
       <tr>
         <td height="60"><div align="center">Longtitude</div></td>
         <td> <div align="center" class="style6">
          <?php echo  $row1['lng'] . ',E ';} ?></div></td>
       </tr>

     </table>
</div>
<div id="container2">Container #2<p>Whole bunch of text 2</div>
</div>

这是我的javascript

  function showDiv(idInfo) {
  var sel = document.getElementById('block_left_panel2').getElementsByTagName('div');
  for (var i=0; i<sel.length; i++) { sel[i].style.display = 'none'; }
  document.getElementById('container'+idInfo).style.display = 'block';
  return false;

}

【问题讨论】:

标签: php jquery html


【解决方案1】:

你可以像这样使用 jQuery:

$(document).ready(function(){
 $("#your_button_id").click(function(){
  $("#your_div_id").load("url to your php file");
 });
});

【讨论】:

    【解决方案2】:

    问题来了

    var sel = document.getElementById('block_left_panel2').getElementsByTagName('div');
    

    这段代码获取了你所有的 div,甚至是容器内的那些,然后隐藏起来。但是您只显示了 2 个容器,而不是它的子容器。

    对此的解决方案是将class="div-containers" 添加到您的#container1#container2 div。在您的 javascript 中,将上面的行更改为:

    var sel = document.getElementsByClassName('div-containers');
    

    逻辑很简单

    您使用一个类隐藏您的主要 div(#container1、#container2)并使用 id 显示您想要的(1 或 2)

    【讨论】:

    • 我应该在哪里添加 class="div-containers" 在我的 html 代码中?无论如何,我已经将容器的内容移到了新的 php 文件中,并将 php 文件包含在容器中,并使用了 Hendry 给我的 Jquery,它确实有效。谢谢
    • 嗨,我仍然遇到一些问题,当我将一些 div 添加到 div 容器中时,当我在 div 之间切换时无法显示这些 div。你能给我关于 class="div-containers" 的更明确的答案吗?我是新手。提前致谢
    • 您应该将此类添加到您的 #container1#container2 div。我会更新我的答案。
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多