LimeSurvey 自动完成功能

LimeSurvey auto-complete feature

想象一下问题:"Please write down five titles of TV Series"。

我们希望答案是自发的,因此用户可以自由回忆并写下他们的答案,例如 "Game of Thrones"、"The Big Bang Theory" 或 "Friends"。

我们的问题是有些人会写 "big bang theory",其他人会写 "The Big Bang Show" 甚至 "big ban teory" 但我们知道这些答案是相同的。

因此,我们希望 LimeSurvey 为所有这些动态提供一个自动完成的答案,例如 "The Big Bang Theory",这样我们就可以最大限度地减少重写和分组答案的手动工作。

这个功能可用吗?如果没有,您是否知道如何实施它?

LimeSurvey(并且不要认为任何其他系统)没有核心系统来执行此操作。但是 LimeSurvey 包括 jquery-ui,并且 jquery-ui 具有自动完成功能。

像这样(如果你有 csv 文件)。

  1. https://code.google.com/p/jquery-csv/ 下载 jquery.csv-0.71.js 并将其放在您的模板目录中。
  2. 将您的 csv 文件放入您的模板目录中(名称 series.csv : 一行一行)
  3. 更新问题的 HTML 来源:

    <script type="text/javascript" src="{TEMPLATEURL}jquery.csv-0.71.js"></script>
    <script>
    var url = "{TEMPLATEURL}series.csv";
    $(function() {
        var seriesTitle = new Array();
    
        $.get(url,function(data){
            fullArray = $.csv.toArrays(data);
            $(fullArray).each(function(i, item){
                seriesTitle.push(item[0]);
            });
            $("#question{QID} input[type=text]").autocomplete({
                source: seriesTitle
            });
        });
    });
    </script>
    

    它适用于多文本和短文本。

如果需要,您可以使用 API(如果可用)。 查看自动完成示例以查看使用 JSON :http://jqueryui.com/autocomplete/#remote