如何将搜索到的数据从数据库转移到具有完整数据行的另一个表?

时间:2019-02-10 07:39:05

标签: javascript jquery sql

我正在做一个小项目,一个POS。有两个表;第一个表的目的是从数据库中具有两个列名称的搜索框中获取产品。如果有产品,我将其单击并将其转移到第二个表中。来自另一个表的数据,但是我的问题是我只有第一个表的两列,而在本教程中它与第二个表相同。 有人可以提示我从哪里开始吗?还是有可能?

enter image description here

这是我的js代码:

    <script>
    function tab1_to_tab2()
    {
        var table1 = document.getElementById("table1"),
            table2 = document.getElementById("table2"),
            checkboxes = document.getElementsByName("tab1");
            console.log("Val1 = " + checkboxes.length);
            for(var i = 0; i < checkboxes.length; i++)
                if (checkboxes[i].checked) {
                    var newRow = table2.insertRow(table2.length),
                        cell1 = newRow.insertCell(1),
                        cell2 = newRow.insertCell(2),
                        cell3 = newRow.insertCell(3);

                        cell1.innerHTML = table1.rows[i+1].cells[1].innerHTML;
                        cell2.innerHTML = table1.rows[i+1].cells[2].innerHTML;
                        cell3.innerHTML = table1.rows[i+1].cells[3].innerHTML;

                        i--;
                        console.log(checkboxes.length);
                }
    }
</script>

但是控制台出现错误:

  

未捕获的DOMException:无法在“ HTMLTableRowElement”上执行“ insertCell”:提供的值(1)超出[-1,0]范围。

当我搜索一些教程时,我认为复选框比单击行更好。 有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

将INERT插入newTable(col1,col2,col3) SELECT列1,列2,列3 来自oldTable

答案 1 :(得分:0)

我现在得到了答案。


使用此代码

<script>
    function tab1_to_tab2()
    {
        var table1 = document.getElementById("table1"),
            table2 = document.getElementById("table2"),
            checkboxes = document.getElementsByName("tab1");
            var qty = 1;
            console.log("Val1 = " + checkboxes.length);
            for(var i = 0; i < checkboxes.length; i++)
                if (checkboxes[i].checked) {
                    var newRow = table2.insertRow(table2.length),
                        cell1 = newRow.insertCell(0),
                        cell2 = newRow.insertCell(1),
                        cell3 = newRow.insertCell(2),
                        cell4 = newRow.insertCell(3);

                        cell1.innerHTML = table1.rows[i+1].cells[0].innerHTML;
                        cell2.innerHTML = table1.rows[i+1].cells[1].innerHTML;
                        cell3.innerHTML = table1.rows[i+1].cells[2].innerHTML;
                        cell4.innerHTML = table1.rows[i+1].cells[3].innerHTML;
                        console.log(checkboxes.length);
                }
    }
</script>

enter image description here

仍然缺少“数量”和“小计”列,但我认为总比没有好。我仍然很开放,谁会帮助我解决这个问题。 :)