[DAY 07] GridItem

接下来要说的是「单选方格」
单选方格的呈现方式是
有一个问题描述
接下来左边是n 个小题,右边是m 个选项栏位
编辑页面的单选方格
预览页面的单选方格


可以看出这n 个小题共用m 个选项
也就是说可以把它当作一个题组
题组中的每个小题都是一个单选题
且每个小题就是一个列

哪些题目可以用这个方式呈现呢?

  1. 配合题
    https://ithelp.ithome.com.tw/upload/images/20210906/20130625hEdfELOi13.jpg
    题目:请将下列饮料和合适的杯子连起来
    列 :(1), (2), (3)
    栏 :(A), (B), (C)

  2. 选填题
    https://ithelp.ithome.com.tw/upload/images/20210906/20130625ji2feWiJEv.png
    题目:题目叙述....
    列 :(18), (19)
    栏 :0, 1, 2, ..., 9, -, ±


最後直接上码,一样详细的部分可以看文档

function gridItemFunction(formID){
  // 这段是建立配合题的例子
  var form = FormApp.openById(formID);
  var gr   = form.addGridItem();
  
  gr.setTitle('单选方格的每一列可以让作答者选择一个选项')
    .setHelpText('可将此种题型视为配合题,因为每个答案可以在每一列被重复选择。以此题为例,答案分别为 A, C, A')
    .setRows(['问题1', '问题2', '问题3'])
    .setColumns(['选项1', '选项2', '选项3', '选项4'])
    .setRequired(false);  //是否为必答,是为true;否为false
}

如果是配合题希望作答者每个选项仅能选择一次
可以加入如下

var gridValidation = FormApp.createGridValidation()
                            .setHelpText("每个选项仅能被选择一次")
                            .requireLimitOneResponsePerColumn()
                            .build();
gr.setValidation(gridValidation);

其中.requireLimitOneResponsePerColumn()是指每个栏位只能被选择一次


如果每个小题的题目叙述过长
也可以考虑把整个题目以图片呈现
再以题号和选项代号取代栏列
这样就算选项内容不同的题组题也可以呈现了!!


<<:  [Day12] 文本/词表示方式(三)-TFIDF实作

>>:  【心得】Notion笔记软件

Day 19 - SwiftUI开发学习3(Stack 、 Scroll View、Stepper)

昨天学了toggle,今天学stack以及如何做切换页面。 正文 stack stack用来排版用的...

D21 第十一周 (回忆篇)

这礼拜还是再追第九周的进度,因为额外研究了其他东西的关系。 apache alias js 剪贴簿 ...

Day 10 - 用 canvas 复刻 小画家 放大镜

动手写看看 目前只能做到放大... const [magnifier, setMagnifier] ...

【DAY 28】Microsoft 365 X Dynamic 365该怎麽选才好呢? (中)

哈罗大家好~ 昨天我们初步认识了 Dynamic 365,那 Dynamic 365 与 Micro...

Day 14 - 函式拌饭

简介 今天会像是笔记一样QQ,但是就是有关函式的知识! Scope of variable (变数生...