首页 > 解决方案 > 如何在更新时将单击的表格行数据传输到输入

问题描述

我目前有一个使用 jsAjax 每 2 秒更新一次的表。

<script>

 function loadXMLDoc()
 {
 var xmlhttp;
 if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("divid").innerHTML=xmlhttp.responseText; //  div
     }
   }
 xmlhttp.open("GET","url",true); // php file
 xmlhttp.send();
 }
 window.setInterval(function(){
   loadXMLDoc();
 }, 1000);



 </script>

在 html 中只有一个 div。该脚本具有指向 php 文件的路径,该文件通过从 db 获取数据每 2 秒打印一次表。我希望用户能够单击任何行并将行内容传输到输入区域。我尝试了以下方法:-

<script>

                var table = document.getElementById('table');

                for(var i = 1; i < table.rows.length; i++)
                {
                    table.rows[i].onclick = function()
                    {

                         //rIndex = this.rowIndex;
                         var texte1 = this.cells[0].innerHTML;
                         var texte2 = this.cells[1].innerHTML;
                         var texte3 = this.cells[2].innerHTML;                         
                         document.getElementById("Someinput1").value = texte1;
                         document.getElementById("Someinput2").value = texte2;
                         document.getElementById("Someinput3").value = texte3;
                    };
                }

         </script>

但是当表格每 2 秒更新一次时,这似乎不起作用,但当它不是时它起作用。如果表格行数据也在实时更新,我们将不胜感激。

样品表:-

                  <thead>
                    <tr id='id_buy_orders_header'>
                      <td>Amount</td>
                      <td>Price</td>
                      <td>Total</td>
                    </tr>
                  </thead>
                  <tbody id='id_buy_orders_body'>";
   while ($row = mysqli_fetch_array($qlr1))
    {

      echo '<tr>
                    <td>'.$row['sum(amount)'].$coin.'</td>
                    <td>'.$row['price'].$bm.'</td>
          <td>'.$row['sum(total)'].$bm.'</td>
        </tr>';
    }
    echo "</tbody>
                </table>";

标签: javascriptajax

解决方案


推荐阅读