Заполните раскрывающийся список HTML (<select>) с данными из листа Google - PullRequest
0 голосов
/ 18 февраля 2019

Я создал этот веб-сайт с Google, который размещен на моем диске Google https://sites.google.com/view/cryptocurrencyman/home

Теперь на странице Графики криптовалюты я хочу раскрывающийся список со всеми доступными криптовалютами изGoogle лист, который доступен на странице Данные криптовалюты, чтобы посетитель мог выбрать, для какой криптовалюты он хочет построить историческую цену.

Я получаю имена всех криптовалют в столбце 1 этого листа Google, запустив следующую функцию сценария приложения Google.Это данные, которые я хочу в раскрывающемся списке.

function Get() 
{
  var sheet = SpreadsheetApp.openById("...........").getSheetByName('Sheet1');
  var lastRow = sheet.getLastRow();
  var myRange = sheet.getRange("A2:A" + lastRow);
  var data = myRange.getValues();
  Logger.log("Data = " + data); 

  return data;
 };

Это HTML-код для простого выпадающего списка.

<!DOCTYPE html>
<html>
    <form>
        Select the value of y: &nbsp;    
          <select id="s1"> 
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
         </select>
     </form>
 </html>

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

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Это две функции листа Google, с которыми я работал, а также приведенный выше HTML-код:

function getSelectList() 
         {
          var sheet = SpreadsheetApp.openById(".....").getSheetByName('Sheet1');
          var lastRow = sheet.getLastRow();
          var myRange = sheet.getRange("A2:A" + lastRow);
          var data = myRange.getValues();
          Logger.log("Data = " + data); 
          return data;
         };


         function doGet() 
         {
         return HtmlService.createHtmlOutputFromFile('HTML_Test');
         }
0 голосов
/ 18 февраля 2019

Вы уверены, что хотите это сделать?Это самая простая часть.

HTML_Test:

<!DOCTYPE html>
  <html>
    <head>
    <base target="_top">
  </head>
  <body>
    <select id="mySelectList">
    </select>
    <script>
      (function () {
        google.script.run.withSuccessHandler(
          function (selectList) {
            var select = document.getElementById("mySelectList");
            for( var i=0; i<selectList.length; i++ ) {
              var option = document.createElement("option");
              option.text = selectList[i][0];
              select.add(option);
            }
          }
        ).getSelectList();
      }());
    </script>
  </body>
</html>

Codes.gs

function getSelectList() {
  try {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
    var values = sheet.getRange(1,1,sheet.getLastRow(),1).getValues();
    return values;
  }
  catch(err) {
    Logger.log(err);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...