Javascript 使用google应用程序脚本获取MultiSelect选项值
我在谷歌表单中有一个列表,可以作为html中的选项选择。所选内容已设置为多个。如何将选定的值放置在google sheet的单个单元格中 以下是谷歌工作表的链接:Javascript 使用google应用程序脚本获取MultiSelect选项值,javascript,html,google-apps-script,materialize,Javascript,Html,Google Apps Script,Materialize,我在谷歌表单中有一个列表,可以作为html中的选项选择。所选内容已设置为多个。如何将选定的值放置在google sheet的单个单元格中 以下是谷歌工作表的链接: function doGet(e){ var ss = SpreadsheetApp.openByUrl(url); var ws2 = ss.getSheetByName("Pos_App"); var list2 = ws2.getRange(1,1,ws2.getRange("A1").getDataRegion(
function doGet(e){
var ss = SpreadsheetApp.openByUrl(url);
var ws2 = ss.getSheetByName("Pos_App");
var list2 = ws2.getRange(1,1,ws2.getRange("A1").getDataRegion().getLastRow(),1).getValues();
var htmlListArray2 = list2.map(function(r){return '<option>' + r[0] + '</option>'; }).join('');
var tmp = HtmlService.createTemplateFromFile("page");
tmp.list2 = htmlListArray2;
return tmp.evaluate();
}
以下是我的多个html代码:
<div class="input-field col s4">
<select id="posApp" multiple="multiple">
<option value="" disabled>Choose your preferred app</option>
<?!= list2; ?>
</select>
<label>Select App</label>
</div> <!-- CLOSE TIME FIELD -->
</div> <!-- CLOSE ROW -->
但不幸的是,它仍然不成功。虽然HTML中的输出都是选定的数据,但当我单击submit按钮时,只有选定内容中的第一项保存在google工作表中。我也不知道如何使用.getSelectedValues()代码>来自ECSS。提前感谢您的帮助。试试这个:
html:
javascript
function updateSelect(vA){
var select = document.getElementById("posapp");
for(var i=0;i<vA.length;i++)
{
select.options[i] = new Option(vA[i],vA[i]);
}
}
$(function() {
google.script.run
.withSuccessHandler(updateSelect)
.getSelectOptions();
});
函数更新选择(vA){
var select=document.getElementById(“posapp”);
对于(var i=0;我可以请您共享您的代码以了解您尝试了什么吗?否则很难告诉您如何帮助您。很抱歉,我是新来的,因此我无法像其他帖子一样正确发布代码。没关系,您可以编辑您的问题,粘贴代码,选择代码,然后点击{}按编辑器中的按钮,它会为您设置正确的格式。我按照您的指示操作,只是将google.script.run.withSuccessHandler(updateSelect).getSelectOptions();
放在使用document.getElementById(“posApp”).addEventListener(“输入”,selectMulti);
的函数下,但仍然不起作用。
function getSelectOptions()
{
var ss = SpreadsheetApp.openByUrl(url);
var ws = ss.getSheetByName("Open_Pos");
var posRg = ws.getRange(1, 1, ws.getLastRow(), 1).getValues().join().split(",");
//return rg.getValue().split(',');
return posRg;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<select id="posApp" multiple="multiple"> <option value="" disabled>Choose your Position</option>
function getSelectOptions()
{
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Options');
var rg=sh.getRange('A1');
return rg.getValue().split(',');
}
function updateSelect(vA){
var select = document.getElementById("posapp");
for(var i=0;i<vA.length;i++)
{
select.options[i] = new Option(vA[i],vA[i]);
}
}
$(function() {
google.script.run
.withSuccessHandler(updateSelect)
.getSelectOptions();
});