在矩阵问题的文本框之前/之后,尝试找到一种方法来显示不同的字符。目前,我在表格中有一列要求一美元金额,第二列要求一个百分比。我真的很想避免将它们分成单独的问题,因为它们是相关的。
我在Qualtrics'上找到了以下代码网站,但它为每个文本框添加一个美元符号,这是我不想要的。
var inputs = $(this.getQuestionContainer()).select('input[type="text"]');
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
$(input).insert({before: '$'});
}
知道这是否可行?
答案 0 :(得分:1)
假设美元是第一个答案列(c4),百分数是第二个答案列(c5)(行标签和垂直分隔符是c1-c3),请将代码修改为:
Qualtrics.SurveyEngine.addOnload(function()
{
function hasClass(element, cls) {
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
var inputs = $(this.getQuestionContainer()).select('input[type="text"]');
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if(hasClass(input.up(), 'c4')) {
$(input).insert({before: '$'});
input.style.display = "inline";
}
else if(hasClass(input.up(), 'c5')) {
$(input).insert({after: '%'});
input.style.display = "inline";
}
}
});
input.up()将您带到<td>
,您可以在其中检查类c4或c5。将显示设置为&#34;内联&#34;防止$出现在上面或
%出现在文本输入下方。
答案 1 :(得分:0)
上面的代码适用于矩阵表,文本输入格式。您还可以稍微修改该代码,以便在Qualtrics的常规“文本输入”问题格式之前或之后添加字符。对于一般文本输入问题,Qualtrics不会以相同的方式添加增量列类,它仅使用“ControlContainer”作为类。以下代码在文本字段后面插入'%'符号。您可以使用标签所需的任何字符替换'%'。
Qualtrics.SurveyEngine.addOnload(function()
{
function hasClass(element, cls) {
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
var inputs = $(this.getQuestionContainer()).select('input[type="text"]');
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if(hasClass(input.up(), 'ControlContainer')) {
$(input).insert({after: '%'});
input.style.display = "inline";
}
}
});