【问题标题】:check duplicate row in html table检查html表中的重复行
【发布时间】:2015-12-30 15:22:19
【问题描述】:

我正在使用 Node js 和 mysql。我正在尝试检查 mysql 数据库表中的条目是否存在于 html 表中。如果条目不存在,则应添加,否则不应添加。但是,代码中有问题,我找不到它是什么。我想检查行中最后一个单元格中的 id 是否等于 mysql 表中记录的 id。但是,每次我按下选项卡时,它都会添加重复的记录。有人可以帮忙吗。谢谢

这是函数的代码:

function addRow(tableID) {
        // find the number of rows in the table myreservations

        <% for(var i = 0;i<reservations.length;i++) { %>

            var table = document.getElementById(tableID);
            var rowCount = table.rows.length;
            var foundalready = false;
            var row = table.insertRow(rowCount);

            for(var i=0; i<rowCount;i++){

                if(<%- JSON.stringify(reservations[i].rid)%> == table.rows[i].cells[6].id){

                    foundalready = true;
                    break;

                }
            }

            if (foundalready == false){    
                var cell1 = row.insertCell(0);
                var element1 = document.createElement("input");
                element1.type = "checkbox";
                element1.name = "chkbox[]";
                cell1.appendChild(element1);

                var cell2 = row.insertCell(1);
                cell2.innerHTML = rowCount;

                var cell3 = row.insertCell(2);
                var element2 = document.createElement("div");
                element2.type = "text";
                element2.textContent=<%- JSON.stringify(reservations[i].tablenumber); %>;
                element2.name = "txtbox[]";
                cell3.appendChild(element2);

                var cell4 = row.insertCell(3);
                var element3 = document.createElement("div");
                element3.type = "text";
                element3.textContent=<%- JSON.stringify(reservations[i].stime); %>;
                element3.name = "txtbox[]";
                cell4.appendChild(element3);

                var cell5 = row.insertCell(4);
                var element4 = document.createElement("div");
                element4.type = "text";
                element4.textContent=<%- JSON.stringify(reservations[i].etime); %>;
                element4.name = "txtbox[]";
                cell5.appendChild(element4);

                var cell6 = row.insertCell(5);
                var element5 = document.createElement("div");
                element5.type = "text";
                element5.textContent=<%- JSON.stringify(reservations[i].priority); %>;
                element5.name = "txtbox[]";
                cell6.appendChild(element5);

                var cell7 = row.insertCell(6);
                var element6 = document.createElement("div");
                element6.type = "div";
                element6.id=<%- JSON.stringify(reservations[i].rid); %>;
                element6.name = "txtbox[]";
                element6.textContent = <%- JSON.stringify(reservations[i].rid); %>;
                cell7.appendChild(element6);
            }
                <% } %>

            }

【问题讨论】:

    标签: html node.js


    【解决方案1】:

    我并没有真正了解完整的代码,但事情是有些事情你不能做。 1-在两个循环中,您使用相同的增量变量 i。 2- 你正在做var cell2 = row.insertCell(1); 以及你正在做的 if 子句

    if(<%- JSON.stringify(reservations[i].rid)%> == table.rows[i].cells[6].id)
    

    看,这个条件永远无法满足。你需要重新检查你正在考虑的对象和周围的所有东西。

    【讨论】:

    • 当我在第二个循环中更改变量 i 时,出现引用错误。我也没有明白 if 语句有什么问题。你能向我解释一下它有什么问题吗?谢谢
    猜你喜欢
    • 2013-06-11
    • 2013-08-31
    • 2020-12-16
    • 2012-12-06
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多