如何为表的行

时间:2016-06-16 12:17:01

标签: javascript php jquery html ajax

[求助]说明可以在底部找到。

我试图在动态创建的表行中处理动态ID时遇到困难。我已经解决了如何使用PHP将这些动态数据上传到MySQL数据库。你能帮帮我吗?

我有一个静态表头和一个静态第一行,用户可以动态添加行。

这是我简化的HTML:

<table>
    <tr>
        <th> first </th>
        <th> second </th>
        <th> third </th>
        <th> fourth </th>
        <th> fifth </th>
    </tr>
    <tbody>
        <tr id="1">
            <td><select (need an onchange="something()" here) name="product_name[]"> <option>listed by php from sql</option>
            <td ><p> Here comes the UNIT depending on the first cell of the row</p></td>
            <td> other input fields ... </td>
            <td>button which adds a new row, cloneing the last row's style</td>
        </tr>
    </tbody>
</table>

我的javascript:

function addRow(tableID, o) 
{
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);
    row.id = parseInt(table.rows[rowCount-1].id)+parseInt(1);
    var colCount = table.rows[rowCount-1].cells.length;

    for(var i=0; i<colCount; i++) {
        var newcell = row.insertCell(i);
        newcell.innerHTML = table.rows[rowCount-1].cells[i].innerHTML;
    }
    o.style.display = "none";

    var x = document.getElementsByName()
}

问题是......

当用户更改行的元素值时,同一行的其他单元格会发生变化,这怎么可能呢? 我使用AJAX直到我必须使表动态,但现在我不知道如何继续。我只需要一些片段或提示,因为我完全不知道如何为每行中的给定单元格提供动态ID,然后如何处理它。我需要一些解决方案,比如我在PHP中处理它(处理表的输入):

使用PHP代码:

if ($_POST['submit']) {
    $cname = $_POST['customer_name'];
    $place = $_POST['product_place'];
    $date = $_POST['product_date'];
    $cassa = $_POST['customer_cassa']; 
    $name = $_POST['product_name'];
    $amount = $_POST['product_price'];
    $price = $_POST['product_price'];

    foreach($name as $a => $b){ 
        $sql = "INSERT INTO bevetelezes (vasarlo, helyszin, datum2, termek, mennyiseg, kassza) VALUES ('$cname', '$place', '$date', '$name[$a]', '$amount[$a]', '$cassa') ";
        if ($r = $conn->query($sql) == TRUE) {

非常感谢您的回复! 最好的祝福, 佐尔坦

描述: 好吧,我自己解决了,它比我想象的要容易。如果有人对此感兴趣,这是解决方案:

在我的桌子内:

<select onchange="get_unit(this.value, this)" required="required" name="t_neve[]">

javascript函数,用于搜索给定行中的classname单元并从中调用单元 数据库并写下来。

function get_unit(str, object) {

          var row = object.parentNode.parentNode;
          var a = row.getElementsByClassName("unit");
          var x = a[0];

          var xhttp;    
          if (str == "") {
              x.innerHTML = '<p class="text-left">----</p>';
            return;
          }
          xhttp = new XMLHttpRequest();
          xhttp.onreadystatechange = function() {
            if (xhttp.readyState == 4 && xhttp.status == 200) {
              x.innerHTML = xhttp.responseText;
            }
          };
          xhttp.open("GET", "ajax_ujbevetel.php?q="+str, true);
          xhttp.send();

      }

ajax修改的单元格:

<td width="65%">
    <div class="unit">
    <p class="text-left">----</p>
    </div>
/td>

0 个答案:

没有答案