Welcome to the LimeSurvey Community Forum

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

Please Help, hidden question with answers

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 2 months ago #91054 by tpartner
Replied by tpartner on topic Please Help, hidden question with answers
Okay, can you give me examples of the token attribute(s) used for the departments?

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
  • Serafim
  • Serafim's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
11 years 2 months ago - 11 years 2 months ago #91086 by Serafim
Replied by Serafim on topic Please Help, hidden question with answers
ok, so it would be something like this:
Token 1:
attribute_1attribute_2attribute_3attribute_4
Dep1Dep3
Token 2:
attribute_1attribute_2attribute_3attribute_4
Dep2Dep4

Token 1 would have attribue_1 and attibute_3 for example, and token 2 the other 2 attributes.

When token 1 would answer the survey we would rate from 0 to 10 only Dep1 and Dep3.

One other thing I remembered, but don't no if it is possible, is this:

Token 1:
attribute_Dep1attribute_Dep2attribute_Dep3attribute_Dep4
YNYN
Token 2:
attribute_Dep1attribute_Dep2attribute_Dep3attribute_Dep4
NYNY
Don't no witch way is better. this is making my head spin...
Last edit: 11 years 2 months ago by Serafim.
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 2 months ago - 11 years 2 months ago #91121 by tpartner
Replied by tpartner on topic Please Help, hidden question with answers
I would use the second example of your tokens:
attribute_1attribute_2attribute_3attribute_4
Token 1YNYN
Token 2NYNY

Then, place the multiple choice question (departments) in a group BEFORE the array (ratings) question and add this to the question source of the multiple choice question. It will hide the question and toggle the checkboxes according to the attribute values.
Code:
<script type="text/javascript" charset="utf-8">
  $(document).ready(function() {
 
    // Get the question ID and the token values
    var qID = '{QID}';
    var dept1 = '{TOKEN:ATTRIBUTE_1}';
    var dept2 = '{TOKEN:ATTRIBUTE_2}';
    var dept3 = '{TOKEN:ATTRIBUTE_3}';
    var dept4 = '{TOKEN:ATTRIBUTE_4}';
 
    // Hide the question
    $('#question'+qID).css({
      'position':'absolute',
      'left':'-9999em'
    });
 
    // Check the appropriate boxes
    if(dept1 == 'Y') {
      $('#question'+qID+' input[type="checkbox"]:eq(0)').attr('checked', true);
    }
    if(dept2 == 'Y') {
      $('#question'+qID+' input[type="checkbox"]:eq(1)').attr('checked', true);
    }
    if(dept3 == 'Y') {
      $('#question'+qID+' input[type="checkbox"]:eq(2)').attr('checked', true);
    }
    if(dept4 == 'Y') {
      $('#question'+qID+' input[type="checkbox"]:eq(3)').attr('checked', true);
    }
  });
</script>

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Last edit: 11 years 2 months ago by tpartner.
The topic has been locked.
  • Serafim
  • Serafim's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
11 years 2 months ago #91133 by Serafim
Replied by Serafim on topic Please Help, hidden question with answers
Oh, I see. I understand the code, that as to work. I'm just waiting for someone to give me admin privileges to try it. With the user I have can´t insert code in the questions.

Many thanks.
The topic has been locked.
  • Serafim
  • Serafim's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
11 years 2 months ago #91691 by Serafim
Replied by Serafim on topic Please Help, hidden question with answers
Hi there,

finally I've tried the code, and it works just fine, just have one question.

The code only works if I have question by question or group by group, if I have the survey to show all the questions in the same screen it doesn't work, but that's no problem, I just to change my survey to question by question.

What I can't change is that when the code hides the question, in my survey will have an empty screen, did I do something wrong or is there any solution?

Once again thanks.
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 2 months ago #91709 by tpartner
Replied by tpartner on topic Please Help, hidden question with answers
This should work in "all-in-one" mode. Do you get any JavaScript errors?

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
  • Serafim
  • Serafim's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
11 years 2 months ago #91726 by Serafim
Replied by Serafim on topic Please Help, hidden question with answers
Maybe I'm doing something wrong, but I don't have any JavaScript errors. I took the code to hide the question to see it work, it chooses the right answers, but in the second question it doesn't shows anything.
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 2 months ago #91760 by tpartner
Replied by tpartner on topic Please Help, hidden question with answers
Ah, to have it all on one page, you will need to fire the checkconditions() function after checking the boxes:
Code:
<script type="text/javascript" charset="utf-8">
  $(document).ready(function() {
 
    // Get the question ID and the token values
    var qID = '{QID}';
    var dept1 = '{TOKEN:ATTRIBUTE_1}';
    var dept2 = '{TOKEN:ATTRIBUTE_2}';
    var dept3 = '{TOKEN:ATTRIBUTE_3}';
    var dept4 = '{TOKEN:ATTRIBUTE_4}';
 
    // Hide the question
    $('#question'+qID).css({
      'position':'absolute',
      'left':'-9999em'
    });
 
    // Check the appropriate boxes
    if(dept1 == 'Y') {
      checkTheBox($('#question'+qID+' input[type="checkbox"]:eq(0)'));
    }
    if(dept2 == 'Y') {
      checkTheBox($('#question'+qID+' input[type="checkbox"]:eq(1)'));
    }
    if(dept3 == 'Y') {
      checkTheBox($('#question'+qID+' input[type="checkbox"]:eq(2)'));
    }
    if(dept4 == 'Y') {
      checkTheBox($('#question'+qID+' input[type="checkbox"]:eq(3)'));
    }
 
    function checkTheBox(el) {
      $(el).attr('checked', true);
      checkconditions($(el).attr('value'), $(el).attr('name'), $(el).attr('type'));
    }
  });
</script>

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
  • Serafim
  • Serafim's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
11 years 2 months ago #91763 by Serafim
Replied by Serafim on topic Please Help, hidden question with answers
Ahh, nice, just perfect.

Only one thing, maybe in css I can solve it, as the first question is hidden, how can I take the space that it takes visually? What I mean is, question by question, I have to submit the first question or a empty screen to go to the second question, if it is every questions in a page, there is an empty space (+-3 lines) before the second question. I'm sure that in the css I can do this, and just show the second question right?

Any way, just the case of this code working is perfect for me, it was my big problem, to use attributes as answers. Thanks.
The topic has been locked.
  • Serafim
  • Serafim's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
11 years 1 month ago #91916 by Serafim
Replied by Serafim on topic Please Help, hidden question with answers
Hi there, any suggestions?
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose