Autocomplete LimeSurvey自动完成功能

Autocomplete LimeSurvey自动完成功能,autocomplete,limesurvey,Autocomplete,Limesurvey,想象一下这个问题:“请写下五个电视剧的标题” 我们希望答案是自发的,这样用户就可以自由回忆并写出他们的答案,如“权力游戏”、“大爆炸理论”或“朋友” 我们的问题是,他们中的一些人会写“大爆炸理论”,其他人会写“大爆炸秀”甚至“大爆炸理论”,但我们知道这些答案是相同的 因此,我们希望LimeSurvey动态地向所有人提供一个自动完成的答案,如“大爆炸理论”,这样我们就可以最大限度地减少手工重写和分组答案的工作量 这个功能可用吗?如果没有,您对如何实现它有任何线索吗?LimeSurvey(不要认为其

想象一下这个问题:“请写下五个电视剧的标题”

我们希望答案是自发的,这样用户就可以自由回忆并写出他们的答案,如“权力游戏”、“大爆炸理论”或“朋友”

我们的问题是,他们中的一些人会写“大爆炸理论”,其他人会写“大爆炸秀”甚至“大爆炸理论”,但我们知道这些答案是相同的

因此,我们希望LimeSurvey动态地向所有人提供一个自动完成的答案,如“大爆炸理论”,这样我们就可以最大限度地减少手工重写和分组答案的工作量

这个功能可用吗?如果没有,您对如何实现它有任何线索吗?

LimeSurvey(不要认为其他任何系统)没有核心系统来实现这一点。但是LimeSurvey包括jQueryUI,而jQueryUI具有自动完成功能

类似这样的内容(如果您有csv文件)

  • 在下载jquery.csv-0.71.js,并将其放在模板目录中
  • 将csv文件放在模板目录中(名称series.csv:一行一个序列)
  • 使用以下内容更新问题的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>
    
    
    var url=“{TEMPLATEURL}series.csv”;
    $(函数(){
    var seriesttle=新数组();
    $.get(url、函数(数据){
    fullArray=$.csv.toArray(数据);
    $(fullArray)。每个(函数(i,项){
    序列推送(项目[0]);
    });
    $(“#问题{QID}输入[类型=文本]”)。自动完成({
    资料来源:seriesTitle
    });
    });
    });
    
    它适用于多文本和短文本

  • 如果需要,您可以使用API(如果可用)。 查看autocomplete示例,了解如何使用JSON: