我尝试同时使用Pick,Group和Rank以及Matrix Table问题类型(后者带有拖放功能)让Qualtrics调查的受访者只需拖动一个将10个项目分成10个桶中的每一个。
不幸的是,虽然我当然可以设置验证,使受访者无法点击下一页,除非他们只为每个桶/组分配了一个项目,但仍然可能意外地将一个项目放入桶中或一个错误的组,有时可能很难看到甚至将项目从桶中取出(特别是Pick,Group和Rank问题类型的最后一个问题)。所以我们现在所想的就是让人很容易混淆,因为我们已经将PGR“组”(桶)的高度设置得足够大,只有一个项目符合“视觉”,但理论上你可以继续丢弃内容,与屏幕上的其他组重叠。
所以我只想拥有某种Javascript或jQuery代码,这些代码基本上取消了将项目“删除”到已经有一个项目的存储桶/组中。这个问题(jQuery drag and drop - Allow only one item in list)似乎特别相关,但由于某些原因它不适用于我(如果它确实在Qualtrics中起作用,那么我甚至会喜欢关于如何使其工作的一些指导我)。谢谢!
答案 0 :(得分:0)
实际上弄清楚了如何使这项工作适用于我的调查。它直接来自我上面发布的链接(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');
}
});
});
});