Suffix in an Array (Multi Flexible) (Text)

More
5 years 3 months ago #83066 by FLF
FLF created the topic: Suffix in an Array (Multi Flexible) (Text)
Hi,
I am looking for a solution, I think it's necessary to use javascript, but unfortunately I can't write javascript :blush: :( .
Well, I need a text-array-question with suffix like in the fake-image at the bottom.
In one column I ask for gains in € and in the next column I asked for percentage.
All in all the question is very complex and the suffixs would be a great help for the participants.
Beside this, I have a similar problem with a multiple options question with comments, it would be great to have suffix also there.

I would be very grateful, if you could help me.

[attachment:1]matrix.jpg[/attachment]

Please Log in to join the conversation.

More
5 years 3 months ago #83074 by tpartner
tpartner replied the topic: Suffix in an Array (Multi Flexible) (Text)
No image attached.

Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #83095 by FLF
FLF replied the topic: Aw: Suffix in an Array (Multi Flexible) (Text)
sorry, here it is

Attachments:
Last Edit: 5 years 3 months ago by FLF.

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #83121 by tpartner
tpartner replied the topic: Suffix in an Array (Multi Flexible) (Text)
1) Set up your survey to use JavaScript .

2) Add the following script to the source of the array. Replace "12345" with the array question ID and modify the suffixes as required.

The function call must consist of a question ID followed by the suffixes yo want in each column. Suffixes must be enclosed in quotes and comma separated.

So, in the example, question ID 12345 will get an "in €" suffix in the first column and an "in %" in the next 3 columns.
<script type="text/javascript" charset="utf-8">
 
	$(document).ready(function() {
 
		// Call the function with the question ID followed by a comma-separated list of suffixes
		addSuffix(12345, 'in €', 'in %', 'in %', 'in %');
 
		function addSuffix() {
 
			var qID = $(arguments)[0];
 
			// Assign some column-specific classes
			$('#question'+qID+' table.question tbody tr').each(function(i){
				$('td', this).each(function(i){
					$(this).addClass('answerCol-'+(i+1)+'');
				});
			});
 
			// Some styling
			$('#question'+qID+' table.question tbody input[type="text"]').css({
				'width': '50%'
			});
 
			// Insert the suffixes
			$(arguments).each(function(i, val){
				if(i > 0) {
					$('#question'+qID+' td.answerCol-'+i+' label').append(val);
				}
			});
		}
	});
 
</script>



Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Attachments:
Last Edit: 5 years 3 months ago by tpartner.
The following user(s) said Thank You: mozart

Please Log in to join the conversation.

More
5 years 3 months ago #83123 by FLF
FLF replied the topic: Aw: Suffix in an Array (Multi Flexible) (Text)
amazing!!!
Thank you so much!!!
:laugh: :cheer: :silly: :cheer: :laugh:

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #83125 by holch
holch replied the topic: Aw: Re: Suffix in an Array (Multi Flexible) (Text)
Very nice, Tpartner!

I would volunteer to put this into the work around section.

Just one quick question, because it might be only a small difference: is it possible to do prefixes with this as well?

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
Last Edit: 5 years 3 months ago by holch.

Please Log in to join the conversation.

More
5 years 3 months ago #83126 by tpartner
tpartner replied the topic: Aw: Re: Suffix in an Array (Multi Flexible) (Text)

Just one quick question, because it might be only a small difference: is it possible to do prefixes with this as well?


You should be able to do so by changing this:
$('#question'+qID+' td.answerCol-'+i+' label').append(val);

To this:
$('#question'+qID+' td.answerCol-'+i+' label').prepend(val);

Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
5 years 3 months ago #83141 by holch
holch replied the topic: Aw: Re: Suffix in an Array (Multi Flexible) (Text)
Works like a charm and is added to the workaround section:
docs.limesurvey.org/Workarounds%3A+Manip...ot_Array_Texts_quot_

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 to join the conversation.

More
4 years 8 months ago #92247 by mozart
mozart replied the topic: Suffix in an Array (Multi Flexible) (Text)
Hey, nice Code, thank you for this.

I am in a need for a bit different solution and wanted you to ask if this is possible.

Is it possible to use a suffix in only one column ?
Or, the other way around, is it possible to hide suffixes of specific columns?
(I have build an optional list, and i just need one suffix for the "others" input mask.)

If you have an idea i would love to hear it.

Best regards,
mozart

Please Log in to join the conversation.

More
4 years 8 months ago #92278 by tpartner
tpartner replied the topic: Suffix in an Array (Multi Flexible) (Text)
If you only want the suffix in the last column, do something like this:
		// Call the function with the question ID followed by a comma-separated list of suffixes
		addSuffix(12345, '', '', '', 'Other Suffix');

Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now