在我的Qualtrics调查中,一个问题(描述性文本)是一个双列表,其中填充了两个不同国家的随机选择的嵌入数据(下面的v2elsuffrage_ord变量)。这两个变量都是0-4。我想要做的是有条件地格式化这些细胞,所以无论哪个得分更大(得分1或得分2),该细胞都是绿色的。
这是我桌子的一个例子:
<table class="UserTable">
<colgroup>
<col id="score1" />
<col id="score2" />
</colgroup>
<tbody>
<tr>
<th>Country A</th>
<th>Country B</th>
</tr>
<tr>
<td>${e://Field/v2elsuffrage_ord}</td>
<td>${e://Field/v2elsuffrage2_ord}</td>
</tr>
</tbody>
</table>
这在Qualtrics中甚至是可能的吗?我在HTML中找到了一个普通条件格式的例子,并试图为Qualtrics修改它,但它没有用。这就是我的Javascript:
Qualtrics.SurveyEngine.addOnload(function()
{
var score1 = $(this).text();
var score2 = $(this).text();
if (score1 > score2) {
$(this).addClass('more1');
}
else if (score1 < score2) {
$(this).addClass('more2');
}
else if (score1 = score2) {
$(this).addClass('same');
}
});
然后对于CSS,我在Look&amp; amp;的Advanced部分下添加了这段代码。感觉(现在随机选择的颜色,看看它是否有效):
.more1 {
background-color: #0f0;
}
.more2 {
background-color: #0c0;
}
.same {
background-color: #060;
}
我知道我确实做错了,但我从来没有真正使用过HTML / CSS(就像我说的那样,我甚至都不知道这是否可行)。任何想法或指导都会很棒,即使它只是一种解决方法。
答案 0 :(得分:2)
您的JavaScript中有很多错误:
此外,样式分配逻辑和CSS没有意义。你只需要一种风格。既然如此,那么将样式添加到元素中会更简单。无需单独的CSS。
试试这个JavaScript ......
Qualtrics.SurveyEngine.addOnload(function()
{
var score1 = parseInt("${e://Field/v2elsuffrage_ord}");
var score2 = parseInt("${e://Field/v2elsuffrage2_ord}");
if (score1 > score2) {
$('score1').style.backgroundColor = "#0f0";
}
else if (score1 < score2) {
$('score2').style.backgroundColor = "#0f0";
}
});