javascript - 根据电子表格单元格值自动检查 htmlform 的复选框

标签 javascript html google-apps-script google-sheets

我有一个代码,当在电子表格单元格“B2”中找到某个值时,它会自动检查 HTML 表单上的复选框。现在我想更改代码,以便它从 B2:B8 范围内获取值并选中多个复选框,我该怎么做?供您引用here是我的电子表格的链接。

最佳答案

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

代码.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>

关于javascript - 根据电子表格单元格值自动检查 htmlform 的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45661907/

相关文章:

javascript - 居中两个 div,最大宽度为 : 1224px,,位于 100% 宽度容器内

javascript - 寻找一个运行脚本来查找javascript之间的冲突

javascript - 简单的嵌套可扩展栏 (jQuery)

google-apps-script - 使用 Appscript 将 Markdown 文本文件转换为 Google 文档?

javascript - 从父页面监控 iframe 内容/状态

javascript - Symfony、Jquery 和 Ajax,附加已附加自身的元素?

javascript - 动态添加表单字段并更新字段值

html - 非字母数字的输入方向 rtl 问题

javascript - 谷歌应用脚​​本: Copy cell value to another sheet with condition to copy and position the value

google-apps-script - 从 Google 脚本中的 .getValue 收集时更改日期 "format"