Small solution to randomize responses

Mehr
1 Woche 5 Tage her - 1 Woche 5 Tage her #183033 von Marksom
COM_KUNENA_MESSAGE_CREATED_NEW
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.
Last edit: 1 Woche 5 Tage her by Marksom.

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

LimeSurvey Partners

Jetzt loslegen!

Melden Sie sich jetzt an, und erstellen Sie in wenigen Minuten Ihre erste Umfrage.

Account einrichten

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für alle Neuigkeiten rund um LimeSurvey
captcha