Array with drop down box and numercial/text value

Mehr
2 Jahre 10 Monate her #143419 von 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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LimeSurvey Partners
Mehr
2 Jahre 10 Monate her #143425 von 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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her - 1 Jahr 3 Monate her #168813 von krosser

tpartner schrieb: 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.
Anhänge:
Letzte Änderung: 1 Jahr 3 Monate her von krosser.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her #168830 von 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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her #168832 von 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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her #168837 von krosser

tpartner schrieb: 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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her #168857 von 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:

Dateianhang:

Dateiname: limesurvey...5-17.lss
Dateigröße: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
Anhänge:
Folgende Benutzer bedankten sich: krosser

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her #168891 von 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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her #168902 von 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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her - 1 Jahr 3 Monate her #168919 von 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
Letzte Änderung: 1 Jahr 3 Monate her von tpartner.
Folgende Benutzer bedankten sich: krosser

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 3 Monate her #168942 von 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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
7 Monate 3 Tage her #179437 von 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?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
7 Monate 3 Tage her #179438 von lemmon

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Monate 1 Woche her #184260 von 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
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Monate 1 Woche her #184266 von 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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Jetzt loslegen!

Melden Sie sich jetzt an, und erstellen Sie in wenigen Minuten Ihre erste Umfrage.

Account einrichten

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für alle Neuigkeiten rund um LimeSurvey
captcha