Я пытаюсь сделать следующее, но я новичок в ГАЗ, поэтому я застрял.У меня есть два выпадающих списка (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>