2016-04-21 61 views
1

我正在Qualtrics中創建一項試點調查,以確保我的所有問題都清晰易懂。對於每個問題,我想添加一個複選框或其他功能,這樣受訪者可以將問題標記爲措辭嚴重或難以理解。複選框將顯示在答案選項或文本框下方。有沒有辦法通過Qualtrics中的JavaScript編輯器來完成此操作?Qualtrics JavaScript添加複選框以標記問題

我不想在每個問題後問一個單獨的問題,詢問前一個問題是否不清楚。這將佔用太多空間,並且使受訪者煩惱。

到目前爲止,我提出的解決方案是在每個問題前創建一個複選框,並保存複選框是否被點擊嵌入數據。

question

首先,我創建的調查流程命名爲check1_d嵌入數據字段。

其次,我在問題文本的HTML中嵌入了一個複選框。

<input id="check1" type="checkbox" value="1" /> <p>What is your favorite color?<p> 

最後,我添加以下的JavaScript編輯器將答案記錄我的嵌入式數據字段check1_d。但這部分不起作用。有誰知道如何記錄人們是否在嵌入數據字段上點擊了框?

var mycheck = String(document.getElementById("check1").check); 
Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck); 

回答

2

incaren是在.checked屬性是正確的,但我認爲你有其他問題。你需要一個事件監聽器,否則你只是保存複選框的初始狀態。此外,您還需要在問題塊之前在調查流程中定義嵌入變量check1_d。

下面是可以工作的代碼。由於Qualtrics使用prototypejs,下面的代碼使用它。不是將「true」和「false」保存爲字符串,而是將true保存爲1,將false保存爲0。

Qualtrics.SurveyEngine.addOnload(function() { 
    var mycb = $('check1'); 
    Qualtrics.SurveyEngine.setEmbeddedData("check1_d", +mycb.checked); 
    mycb.on('click', function (event, element) { 
     Qualtrics.SurveyEngine.setEmbeddedData("check1_d", +element.checked); 
    }); 
}); 
1

這看起來像它可能只是一個用。查屬性錯字:

var mycheck = String(document.getElementById("check1").check); 
// Should instead be 
var mycheck = String(document.getElementById("check1").checked); 
Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck); 
+0

糟糕,我在我的文章中拼寫錯誤,而不是在現實生活中。不過謝謝你! – yaleeconjournal