WebAPP测验从谷歌电子表格中读取数据-选择表格



我正在尝试发布一个小的web应用程序,它有一个选择器来选择电子表格中的一张表。

然后,获取该表中的数据以构建测验。

索引。HTML

<!-- Build select options from spreadsheet sheets -->
<?  var ss = SpreadsheetApp.openById('id_key'); ?>
<select id="select_sheet" onchange="showQuestion(this.value);">
<option value="" disabled selected style="display:none;">Choose unit</option>
<? for (var i = 0; i < ss.getSheets().length; ++i) { ?>
<option><?!= ss.getSheets()[i].getSheetName() ?></option>
<? } ?>
</select>

脚本

<script>       
function showQuestion(name){
<? var data = SpreadsheetApp.openById('id_key').getSheetByName(name).getDataRange().getValues; ?>    
document.getElementById("question").innerHTML = <?= data[0][0] ?>;
document.getElementById("btn0").innerHTML = <?= data[0][1] ?>;
document.getElementById("btn1").innerHTML = <?= data[0][2] ?>;
document.getElementById("btn2").innerHTML = <?= data[0][3] ?>;
document.getElementById("btn3").innerHTML = <?= data[0][4] ?>;
}
</script>

选择器菜单构建正确,但是,我无法触发一个函数onchange,该函数可以从所选的工作表(select_sheet(中读取数据

我怎样才能做到这一点?

您的选项标记应该设置value属性。

更改:

<option><?!= ss.getSheets()[i].getSheetName() ?></option>

至:

<option value="<?= ss.getSheets()[i].getSheetName() ?>"><?!= ss.getSheets()[i].getSheetName() ?></option>

最新更新