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

More
4 years 1 month ago - 4 years 1 month ago #107816 by karld
karld created the topic: Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ?
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: 4 years 1 month ago by karld.

Please Log in or Create an account to join the conversation.

More
4 years 1 month ago - 4 years 1 month ago #107852 by tpartner
tpartner replied the topic: Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ?
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: 4 years 1 month ago by tpartner.
The following user(s) said Thank You: karld

Please Log in or Create an account to join the conversation.

More
4 years 1 month ago #107883 by karld
karld replied the topic: Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ?
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.

Please Log in or Create an account to join the conversation.

More
4 years 1 month ago #107890 by tpartner
tpartner replied the topic: Multilingual surve: sorting responses alphabetically in a 2nd, 3rd language ?
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 following user(s) said Thank You: karld

Please Log in or Create an account to join the conversation.

More
4 years 1 month ago - 4 years 1 month ago #107900 by karld
karld replied the topic: Multilingual survey: sorting responses alphabetically in a 2nd, 3rd language ?
Great ! It works as expected.

Many thanks.
Last Edit: 4 years 1 month ago by karld.

Please Log in or Create an account to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!