javascript - 使用 JavaScript 和 HTML 动态附加行

标签 javascript html

我有一个按钮,可以将包含一些数据的行附加到 HTML 表格(“table_id”)。在那一行中,有一个按钮,我需要从该行中获取数据(并删除该行)并将其附加到页面下方的另一个表(“table_id_three”)。

我试过拼接标记 ID 并将它们传递给我列出的 JavaScript 函数,但它不起作用。我可以使用纯 JavaScript 来做到这一点吗?

HTML:

<table id="table_id" class="table_styles">
    <tr>
    <td class="grid-item-header-two">Assigned To
    </td>
    <td class="grid-item-header-two">From
    </td>
    <td class="grid-item-header-two">To
    </td>
    <td class="grid-item-header-two">Num Passengers
    </td>
    <td class="grid-item-header-two">Time
    </td>
    <td class="grid-item-header-two">No Show
    </td>
    <td class="grid-item-header-two">Edit
    </td>
    <td class="grid-item-header-two">Complete
    </td> 
    </tr>
</table>
<table id="table_id_three" class="table_styles">
    <tr>
    <td class="grid-item-header-three">Assigned To
    </td>
    <td class="grid-item-header-three">From
    </td>
    <td class="grid-item-header-three">To
    </td>
    <td class="grid-item-header-three">Num Passengers
    </td>
    <td class="grid-item-header-three">Time
    </td>
    <td class="grid-item-header-three">No Show
    </td>
    <td class="grid-item-header-three">Edit
    </td>
    <td class="grid-item-header-three">Complete
    </td> 
    </tr>
</table>    

JavaScript:

//appends to first table
function appendData(){      
                    var driver = getDriver();
                    var pickup = getPickup();
                    var dropOff = getDropOff();
                    var numPsngers = getNumPsngers();

                    document.getElementById("table_id").innerHTML += 
                            "<tr id=\"some_id\"><td class=\"grid-item\">  " + driver + 
                            "  </td><td class=\"grid-item\">  " + pickup + 
                            "  </td><td class=\"grid-item\">  " + dropOff + 
                            "  </td><td class=\"grid-item\">  " + numPsngers + 
                            "  </td><td class=\"grid-item\">  7:03:00 PM  " + 
                            "</td>  <td class=\"grid-item\"><input type=\"checkbox\" name=\"noShow\" value=\"showedUp\">" +
                            "</td>  <td class=\"grid-item\"><input type=\"submit\" value=\"Edit\">" +
                            "</td>  <td class=\"grid-item\"><input type=\"submit\" value=\"Complete\" onclick=\"getData()\"></td></tr>";       
            }
//appends to second table
function getData(){
                var x = document.getElementById("some_id").innerHTML;

                var stringArray = x.split("  ");
                var assignedTo = stringArray[1];
                var from = stringArray[3];
                var to = stringArray[5];
                var numPsngers = stringArray[7];
                var time = stringArray[9];

                document.getElementById("some_id").innerHTML = ""; 
                document.getElementById("table_id_three").innerHTML +=
                        "<tr id=\"some_other_id\"><td class=\"grid-item\">  " + assignedTo + 
                            "  </td><td class=\"grid-item\">  " + from + 
                            "  </td><td class=\"grid-item\">  " + to + 
                            "  </td><td class=\"grid-item\">  " + numPsngers + 
                            "  </td><td class=\"grid-item\">  7:03:00 PM  " + 
                            "</td>  <td class=\"grid-item\"><input type=\"checkbox\" name=\"noShow\" value=\"showedUp\">" +
                            "</td>  <td class=\"grid-item\"><input type=\"submit\" value=\"Edit\">" +
                            "</td>  <td class=\"grid-item\"><input type=\"submit\" value=\"Complete\" onclick=\"eraseData()\"></td></tr>";

            }   

最佳答案

HTML:

  <table id="table_id" class="table_styles">
    <tr>
      <td class="grid-item-header-two">Assigned To</td>
      <td class="grid-item-header-two">From</td>
      <td class="grid-item-header-two">To</td>
      <td class="grid-item-header-two">Num Passengers</td>
      <td class="grid-item-header-two">Time</td>
      <td class="grid-item-header-two">No Show</td>
      <td class="grid-item-header-two">Edit</td>
      <td class="grid-item-header-two">Complete</td>
    </tr>
    <tr id="values">
      <td>Value</td>
      <td>Value</td>
      <td>Value</td>
      <td>Value</td>
      <td>Value</td>
      <td>Value</td>
      <td>Value</td>
      <td>Value</td>
    </tr>
  </table>
  <hr>
  <table id="table_id_three" class="table_styles">
    <tr>
      <td class="grid-item-header-three">Assigned To</td>
      <td class="grid-item-header-three">From</td>
      <td class="grid-item-header-three">To</td>
      <td class="grid-item-header-three">Num Passengers</td>
      <td class="grid-item-header-three">Time</td>
      <td class="grid-item-header-three">No Show</td>
      <td class="grid-item-header-three">Edit</td>
      <td class="grid-item-header-three">Complete</td>
    </tr>
  </table>
  <hr>
  <button id="send" type="submit" onclick="move()">Move</button>

JavaScript:

  function move(){
    var values = document.getElementById("values");
    document.getElementById("table_id_three").appendChild(values);
  }

jQuery:

  $("#send").on("click", function() {
    $("#table_id_three").append($("#values"));
  });

关于javascript - 使用 JavaScript 和 HTML 动态附加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49838585/

相关文章:

javascript - 如果另一个语句为真,则取消 if 语句

javascript - 单页应用程序无法获取 Facebook 共享的当前页面元标记

Php我无法删除表中的一行

javascript - 处理音频文件

javascript - html 链接更改页面或只是动态更新页面?

javascript - setTimeout 回调获取 "random number"作为参数?

javascript - 什么时候需要从构造函数调用 `super`?

php - 从 jquery 插件中的多选组获取值

javascript - 显示和隐藏元素 (jquery/javascript)

javascript - JavaScript 中的 IndexOf 方法是否比遍历数组更有效?