以下のように入力してください。
// Text/Instructions
this.options.items.push({
"type": "text",
"title": "調査",
"content": "以下の質問項目をよく読み,あなたにもっとも当てはまる選択肢を選んでください。"
})
// Multiple choice
const items = [
'わたしは犬が好きだ',
'わたしは猫が好きだ',
'わたしは鳥が好きだ',
'わたしは馬が好きだ',
'わたしは人が好きだ'
];
var itemNO;
for(let i = 0; i < items.length; i++){
itemNO = i + 1;
this.options.items.push({
"required": true,
"type": "radio",
"options": [
{
"label": "あてはまらない",
"coding": "1"
},
{
"label": "ややあてはまらない",
"coding": "2"
},
{
"label": "どちらでもない",
"coding": "3"
},
{
"label": "ややあてはまる",
"coding": "4"
},
{
"label": "あてはまる",
"coding": "5"
}
],
"label": itemNO +". "+ items[i],
"name": "Q"+itemNO,
"shuffle": false
})
}
質問の順番をランダムにした場合でもデータでは,質問と番号の対応が変わらないようにします。
以下のようにオブジェクト(連想配列)として質問と番号を格納します。
後で使用する場合は,「itemsArray[i].label」や「itemsArray[i].name」で指定します。
// Multiple choice
const items = [
'わたしは犬が好きだ',
'わたしは猫が好きだ',
'わたしは鳥が好きだ',
'わたしは馬が好きだ',
'わたしは人が好きだ'
];
//各項目と尺度名を配列に格納
var itemsArray = [];
var itemNO;
for(let i = 0; i < items.length; i++){
itemNO = i + 1;
itemsArray.push(
{
"label": items[i],
"name": "Q"+itemNO
}
)
}
連想配列の順番をシャッフルする場合は,「this.random.shuffle」を使います。
//ランダム順にする場合に並び替え
itemsArray = this.random.shuffle(itemsArray)