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

More
3 years 3 months ago - 3 years 3 months 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: 3 years 3 months ago by karld.

Please Log in to join the conversation.

More
3 years 3 months ago - 3 years 3 months 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: 3 years 3 months ago by tpartner.
The following user(s) said Thank You: karld

Please Log in to join the conversation.

More
3 years 3 months 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 to join the conversation.

More
3 years 3 months 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 to join the conversation.

More
3 years 3 months ago - 3 years 3 months 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: 3 years 3 months ago by karld.

Please Log in to join the conversation.

Did you already participate in our customer survey?

Don't miss your chance for great prices.

Please click here to participate:

Start now

Start now!

Just create your account and start using Limesurvey today.

Register now