簡體   English   中英

使用onclick將表值轉移到另一個表中

[英]transfer table values into another table using onclick

我需要幫助人員,我想知道如何使用onclick將表行值轉移到另一個表行中,已經知道如何使用onclick來獲取值,但是不知道如何將值轉移到表中

    <html>

    <body>
    <table class='list'>
    <thead>
    <tr>
        <th class='idno'>ID No.</th>
        <th class='itemn'>Item</th>
        <th class='quant'>Quantity</th>

    </tr>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>Chocolate</td>
        <td>99</td>
    </tr>
    <tr>
        <td>2</td>
        <td>Bread</td>
        <td>99</td>
    </tr>
    </tbody>
    </table>

    <script>
        var table = document.getElementsByTagName("table")[0];
        var tbody = table.getElementsByTagName("tbody")[0];
        tbody.onclick = function (e) {
    e = e || window.event;
    var data = [];
    var target = e.srcElement || e.target;
    while (target && target.nodeName !== "TR") {
    target = target.parentNode;
    }
    if (target) {
    var cells = target.getElementsByTagName("td");
    for (var i = 0; i < cells.length; i++) {
        data.push(cells[i].innerHTML);
    }
    }
    alert(data);
    };
    </script>
    </body>
    </html> 

我已經修改了您的代碼,對此進行了研究

  var table = document.getElementsByTagName("table")[0]; var tbody = table.getElementsByTagName("tbody")[0]; // get other table you want to insert in var t2 =document.getElementById("othertable"); tbody.onclick = function (e) { e = e || window.event; var data = []; var target = e.srcElement || e.target; while (target && target.nodeName !== "TR") { target = target.parentNode; } if (target) { var cells = target.getElementsByTagName("td"); //insert at zero index var tr = t2.insertRow(0) for (var i = 0; i < cells.length; i++) { data.push(cells[i].innerHTML); var cell = tr.insertCell(i); cell.innerHTML = cells[i].innerHTML; } } alert(data); }; 
  <table class='list'> <thead> <tr> <th class='idno'>ID No.</th> <th class='itemn'>Item</th> <th class='quant'>Quantity</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Chocolate</td> <td>99</td> </tr> <tr> <td>2</td> <td>Bread</td> <td>99</td> </tr> </tbody> </table> <hr/> <table id="othertable"></table> 

您需要創建一些節點。 首先創建一個<tr> 然后循環以下操作:創建一個<td> ,然后從您已經收集的數據中創建一個文本節點,將文本附加到<td>然后將<td>附加到<tr>然后重復循環。 最后,將<tr>附加到表主體。 運行下面的代碼段。

 <html> <body> <table class='list'> <thead> <tr> <th class='idno'>ID No.</th> <th class='itemn'>Item</th> <th class='quant'>Quantity</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Chocolate</td> <td>99</td> </tr> <tr> <td>2</td> <td>Bread</td> <td>99</td> </tr> </tbody> </table> <br><br> MY NEW TABLE <table class='list'> <thead> <tr> <th class='idno'>ID No.</th> <th class='itemn'>Item</th> <th class='quant'>Quantity</th> </tr> </thead> <tbody id='myNewTableBody'></tbody> </table> <script> var table = document.getElementsByTagName("table")[0]; var tbody = table.getElementsByTagName("tbody")[0]; tbody.onclick = function (e) { e = e || window.event; var data = []; var target = e.srcElement || e.target; while (target && target.nodeName !== "TR") { target = target.parentNode; } if (target) { var cells = target.getElementsByTagName("td"); for (var i = 0; i < cells.length; i++) { data.push(cells[i].innerHTML); } } var trnode = document.createElement("tr"); for(var i = 0; i < data.length; i++){ var tdnode = document.createElement("td"); var textnode = document.createTextNode(data[i]); tdnode.appendChild(textnode); trnode.appendChild(tdnode); } document.getElementById("myNewTableBody").appendChild(trnode); alert(data); }; </script> </body> </html> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM