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

Más
5 años 2 meses antes - 5 años 2 meses antes #107816 por karld
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
Última Edición: 5 años 2 meses antes por karld.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

LimeSurvey Partners
Más
5 años 2 meses antes - 5 años 2 meses antes #107852 por tpartner
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.
Official LimeSurvey Partner - partnersurveys.com
Última Edición: 5 años 2 meses antes por tpartner.
El siguiente usuario dijo gracias: karld

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
5 años 2 meses antes #107883 por karld
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.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
5 años 2 meses antes #107890 por tpartner
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.
Official LimeSurvey Partner - partnersurveys.com
El siguiente usuario dijo gracias: karld

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
5 años 2 meses antes - 5 años 2 meses antes #107900 por karld
Great ! It works as expected.

Many thanks.
Última Edición: 5 años 2 meses antes por karld.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

¡Comenzar ahora!

Simplemente cree una cuenta y comience a usar LimeSurvey hoy mismo.

Registrarse ahora
¡Únase a nuestro boletín informativo!

Iniciar sesión