我正在尝试发布一个小的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>