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

TOPIC: Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ?

Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ? 2 years 3 months ago #107816

  • karld
  • karld's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 17
  • Karma: 0
Hello,

I have a survey with 2 languages:
  • in the main language, the answers of a question (e.g. multiple choice) are sorted alphabetically (I did it when designing the question)
  • How can I have the answers sorted alphabetically in the second language?

Thanks in advance,

--
Carl
Last Edit: 2 years 3 months ago by karld.
The administrator has disabled public write access.

Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ? 2 years 3 months ago #107852

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6126
  • Thank you received: 1358
  • Karma: 534
You will need to use a little JavaScript to move those around.

Here's a solution for list-radio and multiple-choice questions

1) Set up your survey to use JavaScript.

2) Add this function to the end of template.js:
function sortOptions(qID) {
 
	// Identify this question
	var thisQuestion = $('#question'+qID);
 
	// Create an array of subquestions
	var subQsArr = new Array();
	$('li.answer-item', thisQuestion).each(function(i) {
		var thisString = $(this).find('.answertext').text()+'---'+$(this).attr('id');
		subQsArr.push(thisString);
	});
 
	// Sort the array
	subQsArr.sort();
 
	// Repostion the subquestions in the sorted order
	$(subQsArr).each(function(i, val) {
		var thisID = val.split('---')[1];
		$('li.answer-item:eq(0)', thisQuestion).parent().append($('#'+thisID));
	});
}

3) Add this script to the source of every question that you want sorted (in all languages to be sorted):
<script type="text/javascript" charset="utf-8">	
	$(document).ready(function() {
		sortOptions({QID});
	});
</script>

.
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Last Edit: 2 years 3 months ago by tpartner.
The administrator has disabled public write access.
The following user(s) said Thank You: karld

Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ? 2 years 3 months ago #107883

  • karld
  • karld's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 17
  • Karma: 0
Thank you very much.

I have tried it on a radio buttons list question, it works fine, but the "other" with a textbox is also sorted.
The administrator has disabled public write access.

Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ? 2 years 3 months ago #107890

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6126
  • Thank you received: 1358
  • Karma: 534
Oh, yeah, forgot that. Use this as the function in template.js:
function sortOptions(qID) {
 
	// Identify this question
	var thisQuestion = $('#question'+qID);
 
	// Create an array of subquestions
	var subQsArr = new Array();
	$('li.answer-item', thisQuestion).each(function(i) {
		var thisString = $(this).find('.answertext').text()+'---'+$(this).attr('id');
		subQsArr.push(thisString);
	});
 
	// Sort the array
	subQsArr.sort();
 
	// Repostion the subquestions in the sorted order
	$(subQsArr).each(function(i, val) {
		var thisID = val.split('---')[1];
		$('li.answer-item:eq(0)', thisQuestion).parent().append($('#'+thisID));
	});
	$('li.answer-item:eq(0)', thisQuestion).parent().append($('li.answer-item[id$="other"]', thisQuestion));
}
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.
The following user(s) said Thank You: karld

Multilingual survey: sorting responses alphabetically in a 2nd, 3rd language ? 2 years 3 months ago #107900

  • karld
  • karld's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 17
  • Karma: 0
Great ! It works as expected.

Many thanks.
Last Edit: 2 years 3 months ago by karld.
The administrator has disabled public write access.
Moderators: ITEd
Time to create page: 0.215 seconds
Imprint                   Data Protection Statement                  Revocation information and revocation form