跳转至

survey-likert plugin

这个插件的作用是呈现李克特量表,被试通过单选框进行作答。

参数

除了适用于所有插件的参数,当前插件还接受以下参数。我们必须对默认值为 undefined 的参数进行赋值,而对于其他参数,如果不需要则不用进行赋值。

参数 类型 默认值 描述
questions 数组 undefined 数组中的每个元素都是对象,代表了屏幕上呈现的一个问题。每个对象都包含了prompt, labels和required参数,用于对其对应的问题进行设置,详见下面的示例。prompt: 类型为字符串,默认值是undefined,这些问题会和一系列单选框进行绑定。labels: 类型为数组,默认值是undefined,数组的每个元素都是字符串,每个元素代表问题下的一个选项。如果你想要使用不带文字的选项、只在两端的选项或者是只给一部分选项加上文字,则对于那些不需要文字的选项,只需要使用空字符串即可。required: 类型为布尔,默认值为false,指定当前问题是否为必答。name: 问题的name属性,主要用在数据存储部分。如果不定义,则使用默认名(Q0, Q1, ...)。
randomize_question_order 布尔 false 如果为true,则questions的呈现顺序在试次开始时进行随机。在数据对象中,Q0指的还是数组中的第一个问题,不管它在实验中排在第几位。
preamble 字符串 空字符串 呈现在页面顶端、所有问题上方的HTML字符串。
scale_width 数值 null 量表宽度的像素值。如果为null,则其宽度和页面上最宽的元素相等。
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 trial = {
  type: jsPsychSurveyLikert,
  questions: [
    {
      prompt: "I like vegetables.", 
      labels: [
        "Strongly Disagree", 
        "Disagree", 
        "Neutral", 
        "Agree", 
        "Strongly Agree"
      ]
    }
  ]
};

在新标签页中打开

随机顺序呈现多个问题
var likert_scale = [
  "Strongly Disagree", 
  "Disagree", 
  "Neutral", 
  "Agree", 
  "Strongly Agree"
];

var trial = {
  type: jsPsychSurveyLikert,
  questions: [
    {prompt: "I like vegetables.", name: 'Vegetables', labels: likert_scale},
    {prompt: "I like fruit.", name: 'Fruit', labels: likert_scale},
    {prompt: "I like meat.", name: 'Meat', labels: likert_scale},
  ],
  randomize_question_order: true
};

在新标签页中打开