Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Suffix in an Array (Multi Flexible) (Text)

More
11 years 8 months ago #83066 by FLF
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]
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 8 months ago #83074 by tpartner
Replied by tpartner on 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.
The topic has been locked.
More
11 years 8 months ago - 11 years 8 months ago #83095 by FLF
sorry, here it is

Last edit: 11 years 8 months ago by FLF.
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 8 months ago - 11 years 8 months ago #83121 by tpartner
Replied by tpartner on 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.
Code:
<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.
Last edit: 11 years 8 months ago by tpartner.
The following user(s) said Thank You: mozart
The topic has been locked.
More
11 years 8 months ago #83123 by FLF
amazing!!!
Thank you so much!!!
:laugh: :cheer: :silly: :cheer: :laugh:
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 8 months ago - 11 years 8 months ago #83125 by holch
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 answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Last edit: 11 years 8 months ago by holch.
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 8 months ago #83126 by tpartner

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:
Code:
$('#question'+qID+' td.answerCol-'+i+' label').append(val);

To this:
Code:
$('#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.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 8 months ago #83141 by holch
Works like a charm and is added to the workaround section:
docs.limesurvey.org/Workarounds%3A+Manip...ot_Array_Texts_quot_

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
More
11 years 1 month ago #92247 by mozart
Replied by mozart on 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
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 1 month ago #92278 by tpartner
Replied by tpartner on topic Suffix in an Array (Multi Flexible) (Text)
If you only want the suffix in the last column, do something like this:
Code:
    // 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.
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose