如何获取Google App Script中所有已选中复选框的值

时间:2018-04-18 06:23:40

标签: javascript jquery html google-apps-script

我正在使用App脚本,该脚本采用HTML格式输入&将其写入Google表格。

我在表格提交上运行它如下:

google.script.run
           .appscriptfunc();

虽然我能够通过以下方式获取所选Radio选项的值:

$("input[type='radio'][name='radioname']:checked").val()

我通过以下方式获取复选框的ONLY first checked选项的值:

$("input[type='checkbox'][name='checkboxname']:checked").val()

复选框的HTML:

<div><input id="pos1" class="validate" name="Position" required="required" type="checkbox" value="abc">abc</div>
<div><input id="pos2" class="validate" name="Position" required="required" type="checkbox" value="xyz">xyz</div>
<div><input id="pos3" class="validate" name="Position" required="required" type="checkbox" value="pqr">pqr</div>

如何将所有选中选项的值作为字符串(最好是以逗号分隔的字符串)?

2 个答案:

答案 0 :(得分:1)

您可以使用.each()迭代选中的复选框,并通过将其推入数组中来收集数组中的值。

var values = [];
$("input[type='checkbox'][name='Position']:checked").each(function(i, e) {
  values.push(e.value);
});
console.log(values);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><input id="pos1" class="validate" name="Position" required="required" type="checkbox" value="abc">abc</div>
<div><input id="pos2" class="validate" name="Position" required="required" type="checkbox" value="xyz" checked="true">xyz</div>
<div><input id="pos3" class="validate" name="Position" required="required" type="checkbox" value="pqr">pqr</div>

答案 1 :(得分:1)

这个怎么样?如果您选中了&#34; abc&#34;和&#34; xyz&#34;并按下提交按钮,返回{Position: ["abc", "xyz"]

GAS

function myFunction(e) {
  Logger.log(e.Position) // ["abc", "xyz"] if you ckecked "abc" and "xyz"
}

HTML

<form>
<div><input id="pos1" class="validate" name="Position" required="required" type="checkbox" value="abc">abc</div>
<div><input id="pos2" class="validate" name="Position" required="required" type="checkbox" value="xyz">xyz</div>
<div><input id="pos3" class="validate" name="Position" required="required" type="checkbox" value="pqr">pqr</div>
<input type="submit" value="Submit" onclick="google.script.run.myFunction(this.parentNode);" />
</form>

如果这不是你想要的,我很抱歉。