JavaScript style.display 在 Qualtrics 中没有响应

标签 javascript prototypejs qualtrics

我过去在多项选择:多项回答问题中使用过一些 JavaScript,用于隐藏某些复选框,以便在回答选项中创建标题。以下代码将隐藏第一项和第五项的复选框:

$("QR~QID40~1").style.display="none";
$("QR~QID40~5").style.display="none";

这曾经与“商业现代蓝色”主题一起使用,但 Qualtrics 最近停止了它(以及许多其他主题)。剩下的最符合我需求的皮肤是“Minimal 2014”。我检查了元素 id,它们仍然是相同的。我也尝试过 $("QR~QID40~1").style.visibility="hidden"; 但没有成功。至少,这些在 Firefox 或 Chrome 中不起作用。 Qualtrics 删除了几乎所有以前提供的在线 JavaScript 帮助,但没有任何解释(我能找到),所以我被难住了。

最佳答案

您需要隐藏标签而不是实际的复选框。尝试以下操作。它还有一个额外的好处,即无需对 QID 进行硬编码:

var qid = this.questionId;
var q = $(qid);
q.down('label[for="QR~'+qid+'~1"]').hide();
q.down('label[for="QR~'+qid+'~5"]').hide();

也就是说,在响应选项中创建 header 的更好方法是使用选择组(从问题左侧的齿轮中进行选择)。这样,您就根本不需要 JavaScript。

关于JavaScript style.display 在 Qualtrics 中没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45866771/

相关文章:

javascript - 使用 Web 服务在 Qualtrics 中拉取、操作响应并将其作为新问题发回

css - 如何使用自定义 CSS 减少 Qualtrics 中单选按钮之间的距离

javascript - 如何使 div 甚至可以从其中的文本区域拖动?

javascript - 在内容脚本之前注入(inject) javascript 变量

javascript - JSON.stringify() 数组与 Prototype.js 的奇怪之处

javascript - 如何在前一个 ajax 请求完成后启动 ajax 请求?

javascript - Qualtrics API v2.5 中的 "Incorrect username or password"错误消息

javascript - VS Code 中的 Intellisense - 当前建议

javascript - 数据表行选择的 Angular 数据绑定(bind)

javascript - Prototype JS - 在两个容器之间移动元素 - 这里有什么问题?