【发布时间】:2022-08-17 23:14:50
【问题描述】:
更新(22 年 8 月 11 日):根据 Ruben 的请求 - 复选框使用 .insertCheckboxes() 放置在一列项目旁边。当复选框列中的任何条目调用onEdit(e) 时,会检查它们。临时复选框状态列在每个项目旁边,以确保复选框值正在更改。期望的结果是捕获哪个复选框是true,以便可以在关联的数据输入表单上编辑该项目。非工作代码是 if/else 语句的一部分。 if 工作正常,这向我表明逻辑正常:
if (newAssetBox === true) {
gatherAsset();
}
但是else 语句不起作用。正如您在下面看到的,它通过数组使用计数器来获取和列出复选框值。为了清楚起见,我从原始帖子中删除了// lines。
希望这有助于更好地理解问题。
原帖:
在这个函数中,第一个 if for newAssetBoxs() 工作得很好。
但是if (theCheckedBoxs[count] === true) 不起作用(代码块是临时的,用于故障排除)。该函数由 OnEdit() 调用。我已经尝试了很多方法并且完全感到沮丧。
您可以在下面的第二个代码块中看到,我可以将复选框的值显示为 true(这些框位于 TRUE/FALSE 和描述性文本之间)。请提供一些建议。谢谢
function checkTheBoxs() {
assetEntryForm.getRange(\"F2\").clearContent();
if (newAssetBox === true) {
gatherAsset();
} else {
for (count = 0; count < 20; count++) {
assetEntryForm.getRange(count + 3, 10, 1, 1).setValue(theCheckedBoxs[count]);
if (theCheckedBoxs[count] === true) {
assetEntryForm.getRange(\"F2\").setValue(\'Found a True\');
} else {
editAsset();
}
}
}
以下块是表单页面的一部分。复选框(未显示,但在 TRUE 和 XLR 之间的表格上)是唯一选中的复选框。
FALSE AC / Power cables
TRUE XLR type cable
FALSE Multi Pair cables
FALSE NL4 cable
FALSE NL8 speaker cables
FALSE L14-30 10/4 cable
FALSE Behringer S16 Digital Snake with 100 Foot DuraCat6 Cable
-
请添加minimal reproducible example(包括 theCheckedBoxs 声明以及一些示例数据和预期结果)
标签: javascript google-apps-script google-sheets checkbox