根据电子表格单元格值自动选中 htmlform 的复选框



>我有一个代码女巫在电子表格单元格"B2"上找到某个值时自动选中HTML表单上的复选框。现在我想更改代码,以便它从 B2:B8 等范围内选取值并选中多个复选框,我该怎么做?供您参考,这里是我的电子表格的链接。

按照要求,我只致力于检查复选框。 范围 b2:b8 大于所需值,因此此代码将接受该范围内任何单元格中的 1 到 4 之间的值。 该代码已安装在共享电子表格中。

Code.gs

function onOpen() {
var html = HtmlService.createHtmlOutputFromFile('Index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showModalDialog(html, 'Add Item');
}
function itemAdd(form) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var lastRow = sheet.getLastRow();
var match1 = sheet.getRange("B2").getValue();
var dataRange = sheet.getRange(1, 1,lastRow).getValues();
for(var i=0;i<dataRange.length;i++){
if(dataRange[i][0] == match1){
if(form["name1"] === "1")
{
var delta = "1"
sheet.getRange(i+1, 2).setValue(delta)
}     

}
}
Logger.log(form);
}
function getValues(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var vA=sheet.getRange('B2:B8').getValues();
return vA;
}

索引.html:

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<h1>Add Row To Spreadsheet</h1><br />
<form id='myForm'>
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td></td>
<td><input type="checkbox" name="name1" id="name1" value="1"/>Product Landing pages</td>
<td><input type="checkbox" name="name2" id="name2"/>Missing Attributes</td>
<td><input type="checkbox" name="name3" id="name3"/>Duplicate Titles</td>
<td><input type="checkbox" name="name4" id="name4"/>Merchant Promotions</td>
</tr>
</tbody>
</table>
<br><br>
<input type="button" value="Submit" onclick="google.script.run
.withSuccessHandler(google.script.host.close)
.itemAdd(this.parentNode)" />
</form>
<script>
$(function() {
google.script.run.withSuccessHandler(checkDefault).getValues();
});
function checkDefault(val)
{
for(i=0;i<val.length;i++)
{
if(val[i]==1  || val[i]==2 || val[i]==3 || val[i]==4)
{
var checkBoxName = "name"+val[i];
document.getElementById(checkBoxName).checked = true;
}
}
}
console.log('My Code');
</script>
</body>
</html>

最新更新