Array with drop down box and numercial/text value

Más
2 años 7 meses antes #143419 por rasputin
Hello,

I have been looking around on the forum to find some answer but I did not get very far, sorry...

I am trying to add a new question type (an array probably) where the user has to select a value from a drop down box (e.g. country code) and to enter a text or numerical value that goes with it. Typical business question....
Ideally the user should be able to see a kind of grid in which he may select several codes from the drop down box and enter values for each of the drop down for it but initially a maximum number of answers that are split off into a separate questions would be cool ; so any kind of advice would be appreciated.

Thanks in advance.

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

LimeSurvey Partners
Más
2 años 7 meses antes #143425 por tpartner
Have a look at Denis' arrayTextAdapt plugin - www.limesurvey.org/forum/plugins/104019-...ith-dropdwon-or-mask . It allows arrays with different question types in each column.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com

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

Más
1 año 1 mes antes - 1 año 1 mes antes #168813 por krosser

tpartner escribió: Have a look at Denis' arrayTextAdapt plugin - www.limesurvey.org/forum/plugins/104019-...ith-dropdwon-or-mask . It allows arrays with different question types in each column.


Is there any solution for this in the LS 3.6+?


I'm using the latest LS 3.17 hosted on LS servers, not installed locally.
Adjuntos:
Última Edición: 1 año 1 mes antes por krosser.

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

Más
1 año 1 mes antes #168830 por holch
Nope, not yet. I don't think Denis has adapted all of his great plugins to 3.x yet. You probably have to do it like in the old times with a workaround.

I'm not a LimeSurvey GmbH member. I answer at the LimeSurvey forum in my spare time. No support via private message.
Some helpful links: Manual (EN) | Question Types | Workarounds

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

Más
1 año 1 mes antes #168832 por tpartner
Are the drop-downs to be the same for all columns?

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com

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

Más
1 año 1 mes antes #168837 por krosser

tpartner escribió: Are the drop-downs to be the same for all columns?


Yes.

It's just I'm trying to include a "Don't know" answer option into a multiple-choice question type, in which case, a simple "Don't know" as the last column isn't ideal. And a "No" answer would be also informative to have. Basically, this is in hope to aid the subsequent data analysis...

I'm using the latest LS 3.17 hosted on LS servers, not installed locally.

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

Más
1 año 1 mes antes #168857 por tpartner
Place something like this in the question source:

<script type="text/javascript" charset="utf-8">
	$(document).on('ready pjax:scriptcomplete',function(){
		var thisQuestion = $('#question{QID}');
 
		// Insert selects
		$('.answer-item', thisQuestion).append('<select class="inserted-select form-control list-question-select">\
													<option value="">Please choose...</option>\
													<option value="1">Yes</option>\
													<option value="2">No</option>\
													<option value="3">Do not know</option>\
												</select>');  
 
		// Listeners
		$('.inserted-select', thisQuestion).on('change', function(i) {
			if($(this).val() != '') {
				$(this).closest('.answer-item').find('input:text').val($.trim($('option:selected', this).text())).trigger('change');
			}
			else {
				$(this).closest('.answer-item').find('input:text').val('').trigger('change');
			}
		});
 
		// Returning to page
		$('input:text', thisQuestion).each(function(i) {
			var thisCell = $(this).closest('.answer-item');
			var inputText = $.trim($(this).val());
			var selectval = $('select.inserted-select option', thisCell).filter(function () { return $(this).html() == inputText; }).val();
			$('select.inserted-select', thisCell).val(selectval);
		});
 
		// Clean-up styles
		$('select.inserted-select', thisQuestion).css({
			'max-width': '100%'
		});
		$('input:text', thisQuestion).css({
			'position': 'absolute',
			'left': '-9999em'
		});
	});
</script>

Sample survey attached:

Archivo Adjunto:

Nombre del Archivo: limesurvey...5-17.lss
Tamaño del Archivo:20 KB

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com
Adjuntos:
El siguiente usuario dijo gracias: krosser

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

Más
1 año 1 mes antes #168891 por krosser
Great! It works, Tony! Much appreciated. :woohoo:

I am going to test-run it to see how it would show the responses in LS Stats and exported Excel files, since it isn't something like a hidden subquestion on top of it.

I'm using the latest LS 3.17 hosted on LS servers, not installed locally.

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

Más
1 año 1 mes antes #168902 por krosser
Okay, so I've tested on a survey and just as a note here can confirm that LS statistics doesn't create graphs for the workaround. My guess is that LS doesn't recognise the question after it's modified. But fortunately the answers are still recorded and can be exported in Excel, which is great.

I'm using the latest LS 3.17 hosted on LS servers, not installed locally.

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

Más
1 año 1 mes antes - 1 año 4 semanas antes #168919 por tpartner
Yes, that is expected. The underlying question is an array-texts. No stats are ever given for text type questions.

If it would be easier to analyse with the codes instead of text-strings, you can try this (untested) script which will load the hidden input with numeric codes instead of text:

<script type="text/javascript" charset="utf-8">
	$(document).on('ready pjax:scriptcomplete',function(){
		var thisQuestion = $('#question{QID}');
 
		// Insert selects
		$('.answer-item', thisQuestion).append('<select class="inserted-select form-control list-question-select">\
													<option value="">Please choose...</option>\
													<option value="1">Yes</option>\
													<option value="2">No</option>\
													<option value="3">Do not know</option>\
												</select>');  
 
		// Listeners
		$('.inserted-select', thisQuestion).on('change', function(i) {
			if($(this).val() != '') {
				$(this).closest('.answer-item').find('input:text').val($.trim($(this).val())).trigger('change');
			}
			else {
				$(this).closest('.answer-item').find('input:text').val('').trigger('change');
			}
		});
 
		// Returning to page
		$('input:text', thisQuestion).each(function(i) {
			var thisCell = $(this).closest('.answer-item');
			var inputVal = $.trim($(this).val());
			$('select.inserted-select', thisCell).val(inputVal);
		});
 
		// Clean-up styles
		$('select.inserted-select', thisQuestion).css({
			'max-width': '100%'
		});
		$('input:text', thisQuestion).css({
			'position': 'absolute',
			'left': '-9999em'
		});
	});
</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: 1 año 4 semanas antes por tpartner.
El siguiente usuario dijo gracias: krosser

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

Más
1 año 4 semanas antes #168942 por krosser

The underlying question is an array-texts. No stats are never given for text type questions.


Thanks. I didn't know that.

The 2nd version of the code works too. :)


I'm using the latest LS 3.17 hosted on LS servers, not installed locally.
Adjuntos:

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

Más
5 meses 6 horas antes #179437 por lemmon
Thanks for this contribution. I have 2 questions:
1. How would I have to change the code to apply drop-down to only first column?
2. Would it be possible to have the second column only accept a numeric (decimal) input?

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

Más
5 meses 5 horas antes #179438 por lemmon

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

Más
1 mes 6 días antes #184260 por artsento
Hallo,
I am new to LimeSurvey. I have tried to use solution provided above. However, after filling the question, answser are multiplicated for each row and there is an error when trying to send the form. I will appreciate any help. Please see the attachments
Adjuntos:

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

Más
1 mes 6 días antes #184266 por tpartner
Always disable AJAX mode in the survey theme options.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com

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