Получите значения множественного выбора и отправьте их на лист Google, используя скрипт приложения Google - PullRequest
0 голосов
/ 09 июля 2019

У меня есть список в листе Google, который будет выбран в качестве опции в HTML. Выбор был установлен на несколько. Как я могу получить выбранные значения, которые будут помещены в одну ячейку на листе Google? Большое спасибо, мне это очень нужно. Я нубский программист.

для 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 -->

для скрипта Google (чтобы создать список выбора из листа Google):

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();

}

для JavaScript с использованием инициализации Select from Materialize CSS:

<script>
     document.addEventListener('DOMContentLoaded', function() {
       var timeSelect = document.querySelectorAll('select');
       //timeSelect.onChange = selectThem;
       var instances = M.FormSelect.init(timeSelect);


       function selectThem(){
       var selectedOne = instances.getSelectedValues();
       }

       //var instance = M.FormSelect.getSelectedValues();

     });
</script>

1 Ответ

1 голос
/ 09 июля 2019

Попробуйте это:

HTML:

<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>

code.gs

function getSelectOptions()
{
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Options');
  var rg=sh.getRange('A1');
  return rg.getValue().split(',');
}

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();
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...