【问题标题】:How can I replace an element in a cell using javascript? The json is from Progress-4GL DB如何使用 javascript 替换单元格中的元素? json 来自 Progress-4GL DB
【发布时间】:2021-04-24 21:25:13
【问题描述】:

我是 Progress 和 JavaScript 的新手。我正在使用 json 从正在进行的临时表中获取元素。我将展示我的部分代码。

$.post({
    url: gWS + "/bass/bass054.p",
    data: {
        "process": "<?php echo $process; ?>"
    },
    success: function(data){

    var table = document.getElementById("table");
    var j = 0;
    var dataProc = "";
    var qtProc = 0;
    var item = "";
    var sumQt = 0;
    var qt_total = 0;
    var idGrp = "";
    for (var i = 0; i < data["tt-base"].length; i++) {
        var row = table.insertRow(j+2);
        
        if (data["tt-base"][i]["cod_id_bloco_edi"] != idGrp && i>=2) {
            if (sumQt == qt_total) {
                row.style.background = "green";
            } else {
                row.style.background = "#ff0000";
            }
            row.insertCell(0).innerHTML = "<b>QT TOTAL:</b>";
            row.insertCell(1).innerHTML = "<b>" + item + "</b>";
            row.insertCell(2).innerHTML = "<b>" + sumQt + "</b>";
            row.insertCell(3).colSpan = "2";
            row.insertCell(4).innerHTML = "<b>" + qt_total + "</b>";
            sumQt = 0;
            j++;
            row = table.insertRow(j+2);
        }
         if (data["tt-base"][i]["cdn_segment_edi"] == 44) {
            row.style.background = "#00ff00";
            dataProc = data["tt-base"][i]["dsl_dados_entr_edi"].substring(7,9) + "/" + data["tt-base"][i]["dsl_dados_entr_edi"].substring(5,7) + "/20" + data["tt-base"][i]["dsl_dados_entr_edi"].substring(3,5) + "</div>";
            qtProc = parseInt(data["tt-base"][i]["dsl_dados_entr_edi"].substring(11,20), 10) + "</div>";
            row.insertCell(0).innerHTML = dataProc;
            row.insertCell(1).innerHTML = qtProc;
            row.insertCell(2).innerHTML = "&nbsp;";
            row.insertCell(3).colSpan = "2";
            row.insertCell(4).innerHTML = "<div class='p6'>&nbsp;</div>";
            j++;
            sumQt = parseInt(sumQt,10) + parseInt(qtProc,10);
            
        } else if (data["tt-base"][i]["cdn_segment_edi"] == 446) {
            if (data["tt-base"][i]["dsl_dados_entr_edi"].indexOf("PRE") == 10) {
                document.getElementById("table").deleteRow(j+1);
                j--;
                row = table.insertRow(j+2);
                row.style.background = "#0099CC";
                row.insertCell(0).innerHTML = dataProc;
                row.insertCell(1).innerHTML = qtProc;
                row.insertCell(2).innerHTML = "PREVIS";
                row.insertCell(3).colSpan = "2";
                row.insertCell(4).innerHTML = "<div class='p6'>&nbsp;</div>";
                dataProc = '';
                qtProc = 0;
                j++;
                
            } else if (data["tt-base"][i]["dsl_dados_entr_edi"].indexOf("FIR") == 10) {
                document.getElementById("table").deleteRow(j+1);
                j--;
                row = table.insertRow(j+2);
                row.style.background = "#00ff00";
                row.insertCell(0).innerHTML = dataProc;
                row.insertCell(1).innerHTML = qtProc;
                row.insertCell(2).innerHTML = "FIRM";
                row.insertCell(3).colSpan = "2";
                row.insertCell(4).innerHTML = "<div class='p6'>&nbsp;</div>";
                dataProc = '';
                qtProc = 0;
                j++;
                
            }
        }
        
        idGrp = data["tt-base"][i]["cod_id_bloco_edi"];
    }
}
}).fail(function() {
    alert("Not Possible.");
})

因此,我不想像现在那样删除该行,而是想用 FIRM 和 PREVIS 替换以前的单元格。我尝试只使用row.insertCell(2).innerHTML = "PREVIS";,但它不能正常工作。 关于我该怎么做有什么建议吗?对不起,如果我不够清楚,因为我对这一切都很陌生。感谢您的宝贵时间。

【问题讨论】:

    标签: javascript json openedge progress-4gl


    【解决方案1】:

    经过几个小时的调整,我终于做到了,哈哈。 我没有使用 insertRow 或 insertCell,而是使用了以下

    table.rows[j+2].style.background = "#0099CC";
    table.rows[j+2].cells[2].innerHTML = "PREVIS";
    

    这样,我能够替换我想要的内容。我仍然需要更改一些其他细节,但最困难的部分终于消失了。抱歉,如果我浪费了您的时间,但是在这里写代码有助于我从不同的角度看待代码。我希望我的代码可以帮助其他人。

    【讨论】:

      猜你喜欢
      • 2016-01-17
      • 1970-01-01
      • 2010-10-25
      • 2021-04-25
      • 1970-01-01
      • 2022-06-12
      • 2021-09-07
      • 1970-01-01
      相关资源
      最近更新 更多