Small solution to randomize responses

Plus d'informations
il y a 2 mois 1 semaine - il y a 2 mois 1 semaine #183033 par Marksom
OfflineSurveys does not yet allow random responses.

But as I needed to use it, I created a function to resolve temporarily, and that worked well for me. So I'm sharing it to anyone who needs it.

Add the following function to the question source code:
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
     randomItems({
            qid : '{QID}', //qid of question
            array : false, //True for array subquestions or False for radio, checkbox.
            excluir : ['other'] //exclude randomization option
     });
});
</script>


And add the following function to your template.js
function randomItems(data){
 
	var el = $('#question'+data.qid);
	var pr = data.array==true?'.answers-list':'.answer-item';
	var o = [];
 
	el.find(pr).each(function(i,v){
		var id = $(this).attr('id').split(data.qid).pop();
		if(data.excluir.indexOf(id)==-1){
			o.push(id);
		}
	});
 
	for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
 
	$.each(o,function(i,v){
		el.find(pr+'[id$="'+data.qid+''+v+'"]').insertBefore(el.find(pr+':eq('+i+')'));
	});
 
}

So that's it, I hope this code helps somebody.
Dernière édition: il y a 2 mois 1 semaine par Marksom.

Connexion ou Créer un compte pour participer à la conversation.

Commencez dès maintenant !

Créez simplement un compte et commencez à utiliser LimeSurvey dès aujourd'hui.

Inscrivez-vous maintenant

Inscrivez-vous à notre Newsletter!