Check out the LimeSurvey source code on GitHub!
Welcome, Guest
Username: Password:

TOPIC: Multiple choice random order

Multiple choice random order 3 years 1 month ago #100738

  • Andrea01
  • Andrea01's Avatar
  • Offline
  • Senior Lime
  • Posts: 57
  • Karma: 0
Hi,

I have multiple choice question and Show the items in random order.
Is is possible not to randomize the last item in the question.

If I use "Exclusive Option" the item will not be randomized, however, if clicked, all other items get deactivated, and this is not what I Need.

Thanks in advance

Andrea
The administrator has disabled public write access.

Multiple choice random order 3 years 1 month ago #100741

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6571
  • Thank you received: 1477
  • Karma: 579
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The administrator has disabled public write access.

Multiple choice random order 3 years 1 month ago #100763

  • Andrea01
  • Andrea01's Avatar
  • Offline
  • Senior Lime
  • Posts: 57
  • Karma: 0
thank you, but not working with Limesurvey 2.0
The administrator has disabled public write access.

Multiple choice random order 3 years 1 month ago #100765

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6571
  • Thank you received: 1477
  • Karma: 579
I just tested it in the default template of LimeSurvey 2.0 and it works fine. Perhaps you had incorrect IDs or where using another template.

Regardless, here is an updated version of the script for LS 2.0. Create the question as described in the workaround and add this script to the question source:
<script type="text/javascript" charset="utf-8">	
	$(document).ready(function() {
 
		var qID = {QID};
		var thisQuestion = $('#question'+qID);
 
		// Find the number of answers
		var ansCount = $('.answer-item', thisQuestion).length;
 
		// Place the last answer created at the end of the list
		$('.questions-list', thisQuestion).append($('.answer-item[id$="X'+qID+ansCount+'"]'));
	});
</script>
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Last Edit: 3 years 1 month ago by tpartner.
The administrator has disabled public write access.

Multiple choice random order 3 years 1 month ago #100918

  • Andrea01
  • Andrea01's Avatar
  • Offline
  • Senior Lime
  • Posts: 57
  • Karma: 0
Hi tpartner,

thank you, works fine for multiple options questions. For list radio questions I changed

$('.questions-list', thisQuestion).append($('.answer-item[id$="X'+qID+ansCount+'"]'));

to

$('.answers-list', thisQuestion).append($('.answer-item[id$="X'+qID+ansCount+'"]'));


I also managed to make my template work with the code from the Workaround by changing

$( 'div#question' + qID + ' td.answer li' ).each(function(i) {
ansCount = (i + 1);

to


$( 'div#question' + qID + ' div.answers li' ).each(function(i) {
ansCount = (i + 1);

and

$( 'input#answer' + sID + 'X' + gID + 'X' + qID + ansCount + '' ).parent().appendTo($( '#question' + qID + ' td.answer ul' ));

to

$( 'input#answer' + sID + 'X' + gID + 'X' + qID + ansCount + '' ).parent().appendTo($( '#question' + qID + ' div.answer ul' ));


Best regards
Andrea
The administrator has disabled public write access.
Time to create page: 0.346 seconds
Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form