Array with drop down box and numercial/text value

Mehr
2 Jahre 6 Monate her #143419 von rasputin
COM_KUNENA_MESSAGE_CREATED_NEW
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 an der Konversation teilzunehmen.

LimeSurvey Partners
Mehr
2 Jahre 6 Monate her #143425 von tpartner
COM_KUNENA_MESSAGE_REPLIED_NEW
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.

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

Mehr
11 Monate 1 Woche her - 11 Monate 1 Woche her #168813 von krosser
COM_KUNENA_MESSAGE_REPLIED_NEW

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.
Anhang:
Last edit: 11 Monate 1 Woche her by krosser.

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

Mehr
11 Monate 1 Woche her #168830 von holch
COM_KUNENA_MESSAGE_REPLIED_NEW
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 an der Konversation teilzunehmen.

Mehr
11 Monate 1 Woche her #168832 von tpartner
COM_KUNENA_MESSAGE_REPLIED_NEW
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.

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

Mehr
11 Monate 1 Woche her #168837 von krosser
COM_KUNENA_MESSAGE_REPLIED_NEW

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 an der Konversation teilzunehmen.

Mehr
11 Monate 1 Woche her #168857 von tpartner
COM_KUNENA_MESSAGE_REPLIED_NEW
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.
Anhang:
Folgende Benutzer bedankten sich: krosser

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

Mehr
11 Monate 6 Tage her #168891 von krosser
COM_KUNENA_MESSAGE_REPLIED_NEW
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 an der Konversation teilzunehmen.

Mehr
11 Monate 6 Tage her #168902 von krosser
COM_KUNENA_MESSAGE_REPLIED_NEW
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 an der Konversation teilzunehmen.

Mehr
11 Monate 6 Tage her - 11 Monate 4 Tage her #168919 von tpartner
COM_KUNENA_MESSAGE_REPLIED_NEW
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.
Last edit: 11 Monate 4 Tage her by tpartner.
Folgende Benutzer bedankten sich: krosser

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

Mehr
11 Monate 4 Tage her #168942 von krosser
COM_KUNENA_MESSAGE_REPLIED_NEW

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.
Anhang:

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

Mehr
3 Monate 5 Tage her #179437 von lemmon
COM_KUNENA_MESSAGE_REPLIED_NEW
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 an der Konversation teilzunehmen.

Mehr
3 Monate 5 Tage her #179438 von lemmon
COM_KUNENA_MESSAGE_REPLIED_NEW

Bitte Anmelden oder Registrieren um an der Konversation teilzunehmen.

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