Обновите данные 2-го выпадающего меню данными таблицы, в зависимости от значения 1-го выпадающего списка - PullRequest
1 голос
/ 25 сентября 2019

Я пытаюсь сделать следующее, но я новичок в ГАЗ, поэтому я застрял.У меня есть два выпадающих списка (GAS HTML), которые будут заполнены данными из таблицы Google.

Я хочу, чтобы при выборе значения 1 в первом раскрывающемся списке второй раскрывающийся список заполнялся информацией из столбца B электронной таблицы.Если я выберу значение 2 в раскрывающемся списке номер один, то я хочу, чтобы раскрывающийся номер два заполнялся из столбца C (той же таблицы).Если я выберу в раскрывающемся списке номер один, значение номер 3, затем в раскрывающемся списке номер два, будет отображаться информация из столбца D и т. Д.

Сейчас я могу отображать только значения первого выпадающего списка, но неНе знает, как использовать какой-то код, например «If, THEN, ELSE», для извлечения данных из электронной таблицы Google во второй выпадающий список, в зависимости от значения, выбранного в выпадающем списке номер один.

CODE.gs

function doGet() {
  var template = HtmlService.createTemplateFromFile("HTML")
  return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

function include(filename) {
  return HtmlService.createHtmlOutputFromFile(filename)
      .setSandboxMode(HtmlService.SandboxMode.IFRAME)
      .getContent();
}

function listData(){
  var SpreadSheet2 = SpreadsheetApp.openByUrl("SPREADSHEETURL").getSheetByName("Sheet 1");
  var listDropDownBoxidCOUNTRY =  new Array(100);
  listDropDownBoxidCOUNTRY = SpreadSheet2.getRange(2,1,SpreadSheet2.getRange("A2").getDataRegion().getLastRow(),1).getValues();
  return listDropDownBoxidCOUNTRY ;
}

HTML

<?!= include("HTML_js"); ?>   

<div>
<label><b>SELECT A COUNTRY:</b></label>
<select id="idCOUNTRY">
      <option disabled selected>-- Select a Country --</option>
</select>
<div>
 <label><b>SELECT A STATE:</b></label>
<select id="idSTATE">
<option disabled selected>-- Select a state --</option>
</select>
</div>

Javascript

<script>
window.onload = function(){
      google.script.run.withSuccessHandler(FillDropDownBoxidCOUNTRY).listData();
}

function FillDropDownBoxidCOUNTRY(list){
   var listData = list;

  for (var i = 0; i< listData.length;i++) {
    var element2 = document.createElement("option");
    element2.textContent = listData[i];
    element2.value = listData[i];
    document.getElementById("idCOUNTRY").appendChild(element2);
  }
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...