我正在尝试发布一个小型Web应用程序,该应用程序具有选择器以选择电子表格中的工作表之一。
然后,获取该工作表中的数据以构建测验。
INDEX.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)中读取数据
我该如何实现?
答案 0 :(得分:0)
您的选项标签应设置value属性。
更改:
<option><?!= ss.getSheets()[i].getSheetName() ?></option>
收件人:
<option value="<?= ss.getSheets()[i].getSheetName() ?>"><?!= ss.getSheets()[i].getSheetName() ?></option>