如果状态为RECIEVED,则背景颜色为绿色
如果第 7 列中的状态包含具有“RECIEVED”值的行,我想突出显示行颜色为绿色。
下面的代码是将与 Google 表格关联的搜索结果数据显示到 google webapp。
var searchResultsBox = document.getElementById("searchResults");
var templateBox = document.getElementById("rowTemplate");
var template = templateBox.content;
searchResultsBox.innerHTML = "";
resultsArray.forEach(function(r){
var tr = template.cloneNode(true);
var l1Column = tr.querySelector(".L1");
var l2Column = tr.querySelector(".L2");
var l3Column = tr.querySelector(".L3");
var l4Column = tr.querySelector(".L4");
var l5Column = tr.querySelector(".L5");
var l6Column = tr.querySelector(".L6");
var l7Column = tr.querySelector(".L7");
var l8Column = tr.querySelector(".L8");
l1Column.innerHTML = r[0];
l2Column.innerHTML = r[1];
l3Column.innerHTML = r[2];
l4Column.innerHTML = r[3];
l5Column.innerHTML = r[4];
l6Column.innerHTML = r[5];
l7Column.innerHTML = r[6];
if (l7Column.innerHTML = r[6] === "RECEIVED") row.style.backgroundColor = "green";
l8Column.innerHTML = r[7];
searchResultsBox.appendChild(tr);
});
}
我添加了这个if (l7Column.innerHTML = r[6] === "RECEIVED") row.style.backgroundColor = "green"; 但状态在第 7 列中显示为 false
搜索面板的屏幕截图
我哪里做错了?
回答
我认为row您的脚本中没有使用它。而且,在这种情况下,以下修改如何?
从:
if (l7Column.innerHTML = r[6] === "RECEIVED") row.style.backgroundColor = "green";
if (l7Column.innerHTML = r[6] === "RECEIVED") row.style.backgroundColor = "green";
到:
if (r[6] === "RECEIVED") tr.querySelector("tr").style.backgroundColor = "green";
添加:
关于您的以下新问题,
你在剧本方面比你厉害:)。它起作用了,我有另一个查询,状态不仅包含 RECIEVED 一词,而且有时可能包含其他一些词,例如 RECIEVED TODAY 或 RECIEVED YESTERDAY,在这种情况下,脚本应该如何更改?
当r[6]是RECIEVED TODAYand 时RECIEVED YESTERDAY,您想将背景颜色设置为绿色。在这种情况下,如何进行以下修改?
从:
到:
if (["RECIEVED TODAY", "RECIEVED YESTERDAY"].includes(r[6])) tr.querySelector("tr").style.backgroundColor = "green";
或者,在r[6]includes的时候RECIEVED,要设置背景色,下面的修改怎么样?
到:
if (r[6].toString().includes("RECIEVED")) tr.querySelector("tr").style.backgroundColor = "green";
笔记:
- 当我看到您的问题时,您正在使用
RECEIVED. 但是在您的回复中,您使用RECIEVED. 我认为的拼写RECEIVED与RECIEVED. 在这个额外的修改中,RECIEVED使用了。请注意这一点。
- @James Anderson Thank you for replying. I'm glad your issue was resolved. About your new question, I added the modified script. Could you please confirm it? If that was not the direction you expect, I apologize.