Array with drop down box and numercial/text value

More
1 year 10 months ago #143419 by rasputin
rasputin created the topic: Array with drop down box and numercial/text value
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.

Please Log in or Create an account to join the conversation.

More
1 year 10 months ago #143425 by tpartner
tpartner replied the topic: Array with drop down box and numercial/text value
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.

Please Log in or Create an account to join the conversation.

More
3 months 4 days ago - 3 months 4 days ago #168813 by krosser
krosser replied the topic: Array with drop down box and numercial/text value

tpartner wrote: 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.14 hosted by LS team, not installed locally.
Attachments:
Last Edit: 3 months 4 days ago by krosser.

Please Log in or Create an account to join the conversation.

More
3 months 4 days ago #168830 by holch
holch replied the topic: Array with drop down box and numercial/text value
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

Please Log in or Create an account to join the conversation.

More
3 months 4 days ago #168832 by tpartner
tpartner replied the topic: Array with drop down box and numercial/text value
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.

Please Log in or Create an account to join the conversation.

More
3 months 3 days ago #168837 by krosser
krosser replied the topic: Array with drop down box and numercial/text value

tpartner wrote: 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.14 hosted by LS team, not installed locally.

Please Log in or Create an account to join the conversation.

More
3 months 3 days ago #168857 by tpartner
tpartner replied the topic: Array with drop down box and numercial/text value
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:

File Attachment:

File Name: limesurvey...5-17.lss
File Size:20 KB

Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Attachments:
The following user(s) said Thank You: krosser

Please Log in or Create an account to join the conversation.

More
3 months 3 days ago #168891 by krosser
krosser replied the topic: Array with drop down box and numercial/text value
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.14 hosted by LS team, not installed locally.

Please Log in or Create an account to join the conversation.

More
3 months 3 days ago #168902 by krosser
krosser replied the topic: Array with drop down box and numercial/text value
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.14 hosted by LS team, not installed locally.

Please Log in or Create an account to join the conversation.

More
3 months 2 days ago - 3 months 18 hours ago #168919 by tpartner
tpartner replied the topic: Array with drop down box and numercial/text value
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: 3 months 18 hours ago by tpartner.
The following user(s) said Thank You: krosser

Please Log in or Create an account to join the conversation.

More
3 months 23 hours ago #168942 by krosser
krosser replied the topic: Array with drop down box and numercial/text value

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.14 hosted by LS team, not installed locally.
Attachments:

Please Log in or Create an account to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!