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

时间:2018-10-31 16:53:32

标签: html web-applications spreadsheet

我正在尝试发布一个小型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)中读取数据

我该如何实现?

1 个答案:

答案 0 :(得分:0)

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

更改:

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

收件人:

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