Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我不能多次追加?JQUERY和AJAX_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 为什么我不能多次追加?JQUERY和AJAX

Javascript 为什么我不能多次追加?JQUERY和AJAX,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我正在制作一个网站,将一些Firebase值加载到一个表中,该网站是动态的。 第一次单击“订单”按钮(在菜单中)时,值会出现在表格中,但当我转到另一个页面,然后返回“订单”时 我试着在订单页面中放置一个按钮,每次我按下按钮,它都能工作 第一次按下菜单上的按钮: 第二次按下按钮: 下面是JavaScript: $('#dynamic').on('click', 'a', function (e) { e.preventDefault(); $("#dynamic").lo

我正在制作一个网站,将一些Firebase值加载到一个表中,该网站是动态的。 第一次单击“订单”按钮(在菜单中)时,值会出现在表格中,但当我转到另一个页面,然后返回“订单”时

我试着在订单页面中放置一个按钮,每次我按下按钮,它都能工作

第一次按下菜单上的按钮:

第二次按下按钮:

下面是JavaScript:


$('#dynamic').on('click', 'a', function (e) {
      e.preventDefault();
      $("#dynamic").load($(this).attr("href"), function () {});
      if ($(this).attr("href") == "orders.html") {
        var rootRef = firebase
          .database()
          .ref()
          .child("Orders");

        rootRef.on("child_added", snap => {
          var ID = snap.child("ID").val();
          var ArticleNumber = snap.child("ArticleNumber").val();
          var ArticleName = snap.child("ArticleName").val();
          var Quantity = snap.child("Quantity").val();
          var Price = snap.child("Price").val();
          var Description = snap.child("Description").val();
          var Status = snap.child("Status").val();

          $("#table_body").append("<tr><td>" + ID + "</td><td>" + ArticleNumber + "</td><td>" + ArticleName + "</td><td>" + Quantity + "</td><td>" + Price + "</td><td>" + Description + "</td><td>" + Status + "</td></tr>");
          $(".waiting").css("display", "none");
          $("#table-wrapper").css("display", "block");
          $(".dataTitle").css("display", "block");
        });
      });

$('#dynamic')。在('click','a',函数(e)上{
e、 预防默认值();
$(“#dynamic”).load($(this.attr(“href”),function(){});
if($(this.attr(“href”)=“orders.html”){
var rootRef=firebase
.数据库()
.ref()
.儿童(“命令”);
rootRef.on(“添加的子对象”,snap=>{
var ID=snap.child(“ID”).val();
var ArticleNumber=snap.child(“ArticleNumber”).val();
var ArticleName=snap.child(“ArticleName”).val();
var数量=snap.child(“数量”).val();
var Price=snap.child(“Price”).val();
var Description=snap.child(“Description”).val();
var Status=snap.child(“Status”).val();
$(“#表体”)。追加(“+ID+”“+ArticleNumber+”“+ArticleName+”“+Quantity+”“+Price+”“+Description+”“+Status+”);
$(“.waiting”).css(“显示”、“无”);
$(“#表包装器”).css(“显示”、“块”);
$(“.dataTitle”).css(“显示”、“块”);
});
});
以下是Html:

<div class="waiting">
  <img id="doneLoading" class="logo" src="img/waiting.svg" alt="Waiting" />
  <p id="loadOrders" class="text">Loading data from Firebase...</p>
</div>
<h1 style="display: none;" class="dataTitle">Firebase Data</h1>
<div style="display: none;" id="table-wrapper">
  <div id="table-scroll">
    <table class="content-table">
      <thead>
        <tr>
          <th>ID</th>
          <th>Article Number</th>
          <th>Article Name</th>
          <th>Quantity</th>
          <th>Price</th>
          <th>Description</th>
          <th>Status</th>
        </tr>
      </thead>
      <tbody id="table_body"></tbody>
    </table>
  </div>
</div>

正在从Firebase加载数据

火基数据 身份证件 物品编号 物品名称 量 价格 描述 地位

同样在控制台中,它说它正在执行JavaScript,但什么也没有出现…

第一次似乎有问题,如果…从拍摄开始,第二次代码似乎没有进入该块。 您是否使用brackpoint测试了开发者工具(ex Chrome开发者工具)中的流程

if ($(this).attr("href") == "orders.html") {

如果我删除这一行,它仍然不起作用:(我不知道如何使用上面提到的chrome开发者工具。而且它正在进入代码块,当我在其中添加控制台日志时,我会得到一个响应CDT是一个强大的工具来调试你的应用程序…需要用chrome打开页面(例如,Firefox有类似的工具),>F12>选项卡“Sources”在此,选择包含代码的JS文件,在行号附近设置断点,靠近if代码…重新加载页面,调试已开始。要继续,请按F10。要关闭调试,请删除所有括号点…非常有帮助。我发现了一些新内容,在<代码>$(“#table_body”)之前一切都很好.append。我在断点控制台中获得了正确的值,但该表没有显示…看起来脚本正在尝试在加载页面之前将值添加到表中查看chrome开发工具之后,看起来它正在尝试在加载页面之前将值添加到表中。。。