Qualtrics 拖放:每个桶只允许一个项目

Qualtrics Drag-and-Drop: Allowing Just One Item Per Bucket

我已经尝试使用 Pick、Group 和 Rank 以及 Matrix Table 问题类型(后者具有拖放功能)让 Qualtrics 调查中的受访者只需拖动 10 个中的一个 个项目放入 10 个桶中的每个桶中。

不幸的是,虽然我当然可以设置验证,使受访者无法点击下一页,除非他们只为每个 bucket/group 分配了一个项目,但仍然有可能不小心丢弃一个项目错误地放入桶或组中,有时很难看到,甚至很难将项目从桶中取出(最后一个问题特别适用于选择、分组和排名问题类型)。所以我们认为我们现在拥有的东西很容易混淆人们,因为我们将 PGR "groups"(桶)的高度设置得足够大,只有一个项目适合 "visually",但从理论上讲,您可以继续将东西放在那里,与屏幕下方的其他组重叠。

所以我只想使用某种 Javascript 或 jQuery 代码,这些代码实质上会将一项的 "drop" 取消为已经有一项的 buckets/groups在他们中。这个问题 (jQuery drag and drop - Allow only one item in list) 似乎特别相关,但由于某种原因它对我不起作用(如果它确实在 Qualtrics 中起作用,那么我什至希望得到一些关于如何让它起作用的指导我)。谢谢!

实际上想出了如何使这项调查适用于我的调查。它直接取自我上面发布的 link (jQuery drag and drop - Allow only one item in list),所以所有功劳都归功于那里的解决方案。如果有人也试图将其适应 Qualtrics,请参见下文,您当然可以在其中替换所需存储桶的选择器(即,将其替换为相关问题 ID,而不是#QID8group0)。

Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/   
jQuery(function() {
jQuery("ul.droptrue").sortable({
    connectWith: "ul",
});

jQuery("ul.dropfalse").sortable({
    connectWith: "ul",
    dropOnEmpty: false
});

jQuery("#QID8group0,#QID8group1, #QID8group2, #QID8group3, #QID8group4, #QID8group5, #QID8group6,#QID8group7,#QID8group8,#QID8group9").disableSelection();

 jQuery("#QID8group0,#QID8group1, #QID8group2, #QID8group3, #QID8group4, #QID8group5, #QID8group6,#QID8group7,#QID8group8,#QID8group9").on("sortreceive", function(event, ui) {
    var jQuerylist = jQuery(this);

    if (jQuerylist.children().length > 1) {
        jQuery(ui.sender).sortable('cancel');
    }
});
});

});