Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用google应用程序脚本获取MultiSelect选项值_Javascript_Html_Google Apps Script_Materialize - Fatal编程技术网

Javascript 使用google应用程序脚本获取MultiSelect选项值

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(

我在谷歌表单中有一个列表,可以作为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().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();
      });