jspsych-survey-multi-choice plugin¶
这个插件的作用是呈现一系列单选题。被试只能选择一个答案。
参数¶
除了适用于所有插件的参数,当前插件还接受以下参数。我们必须对默认值为 undefined 的参数进行赋值,而对于其他参数,如果不需要则不用进行赋值。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
questions | 数组 | undefined | 数组中的每个元素都是对象,代表了屏幕上呈现的一个问题。每个对象都包含了prompt, options, required, 和horizontal参数,用于对其对应的问题进行设置,详见下面的示例。prompt : 类型为字符串,默认值是undefined,这些问题会和一系列选项(单选框)进行绑定。所有问题都呈现在同一页上(同一个试次内)。options : 类型为数组,默认值是undefined,数组的每个元素都是字符串,每个元素代表问题下的一个选项。required : 类型为布尔,默认值为false,指定当前问题是否为必答(true为必答,false为非必答),其实现是通过HTML5中的required 属性完成的。horizontal : 类型为布尔,默认值为false。如果为true,则问题居中,所有选项水平排列。name : 问题的name属性,主要用在数据存储部分。如果不定义,则使用默认名(Q0 , Q1 , ... )。 |
randomize_question_order | 布尔 | false |
如果为true,则questions 的呈现顺序在试次开始时进行随机。在数据对象中,Q0 指的还是数组中的第一个问题,不管它在实验中排在第几位。 |
preamble | 字符串 | 空字符串 | 呈现在页面顶端、所有问题上方的HTML字符串。 |
button_label | 字符串 | 'Continue' | 按钮的文本。 |
autocomplete | 布尔 | false | 页面上的input元素是否允许自动补全。如果该参数为true,则表单元素允许自动填充。 |
数据¶
除了所有插件默认都会收集的数据,当前插件还会记录以下数据。
名称 | 类型 | 值 |
---|---|---|
response | 对象 | 记录了所有问题作答情况的对象。对于每一个问题,对象都会添加一个属性,第一个问题记录在Q0 属性下,第二个问题记录在Q1 属性下,以此类推。被试的作答记录的是其选择的选项名(字符串)。如果定义了name 参数,则会使用name 的值作为当前属性名(而非Q0 这种形式) 。后面使用.json() 或.csv() 方法保存数据时,该数组会以JSON形式存储起来。 |
rt | 数值 | 反应时(单位:毫秒)。问题刚开始出现时开始计时,被试完成作答后结束计时。 |
question_order | 数组 | 记录问题顺序的数组。例如,[2,0,1] 代表呈现的第一个问题是trial.questions[2] (questions 参数下的第三个问题), 呈现的第二个问题是trial.questions[0] , 呈现的最后一个问题是trial.questions[1] 。后面使用.json() 或.csv() 方法保存数据时,该数组会以JSON形式存储起来。 |
示例¶
var page_1_options = ["Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"];
var page_2_options = ["Strongly Disagree", "Disagree", "Somewhat Disagree", "Neutral", "Somewhat Agree", "Agree", "Strongly Agree"];
var multi_choice_block = {
type: 'survey-multi-choice',
questions: [
{prompt: "I like vegetables", name: 'Vegetables', options: page_1_options, required:true},
{prompt: "I like fruit", name: 'Fruit', options: page_2_options, required: false}
],
};
var multi_choice_block_horizontal = {
type: 'survey-multi-choice',
questions: [
{prompt: "I like vegetables", options: page_1_options, required: true, horizontal: true,},
{prompt: "I like fruit", options: page_2_options, required: false, horizontal: true}
],
};