首页 > 解决方案 > 如何将搜索到的数据从数据库传输到具有完整数据行的另一个表?

问题描述

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

在此处输入图像描述

这是我的 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]。

当我在谷歌上搜索一些教程时,我认为复选框会更好,而不是单击行。有人可以帮我解决这个问题吗?

标签: javascriptjquerysql

解决方案


我现在得到了答案。


使用此代码

<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>

在此处输入图像描述

“数量”和“小计”列仍然缺乏,但我认为总比没有好。我仍然愿意帮助我解决这个问题。:)


推荐阅读