Check out the LimeSurvey source code on GitHub!

Detect given answers from a long list, and autostore only selected items

More
2 years 8 months ago #107732 by Bart01
My first question is Multiple choice question.
Respondent has to choose 1-3 answers from the list of >100 options.
All further questions only apply to the 1-3 answered options.
Of course, I could use an array filter, but further on i would also like to display the 1-3 answered options in colums, or I would like to be able to select 1 (of the 1-3) for a specific question.

So I would like to declare 3 new variables, with the value of the chosen answers.
(2 might be empty, if only 1 is chosen).

So, in short, I like to find the first NAOK, and declare variable {ANSWER1}
Then, search further for 2nd NAOK (if any), and store this in {ANSWER2}, same for {ANSWER3}

Please Log in to join the conversation.

More
2 years 8 months ago #107746 by first
Please attach a test lss.

Survey Designer and Programmer
"I always suggest to have a group by group display layout and create a seprate group for each question. This will be extra work but you will get flexiblity to create your question by using more than more lime survey question types."

Please Log in to join the conversation.

More
2 years 8 months ago #107749 by Bart01
Trivender,

there is not a (test) lss, yet.

It is an issue I need to resolve, before I further design my survey

Please Log in to join the conversation.

More
2 years 8 months ago - 2 years 8 months ago #107750 by first
step1: Create an multiple short text (Q2) question with 3 answer options on the same page.
step2: use jquery to set the labels first 3 checked answers in the text boxes .
setp3: Hide Q2 with jquery.

Hope you got the idea.

Survey Designer and Programmer
"I always suggest to have a group by group display layout and create a seprate group for each question. This will be extra work but you will get flexiblity to create your question by using more than more lime survey question types."
Last Edit: 2 years 8 months ago by first.

Please Log in to join the conversation.

More
2 years 8 months ago #107752 by Bart01
Trivender,

so I do need jquery.

step 1: ok
step 2: do you have a (rough) example which I can further work on?
URL-link pointing to a similar example is fine as well.
step 3: ok.

thx!

Bart

Please Log in to join the conversation.

More
2 years 8 months ago - 2 years 8 months ago #107754 by first
Try it. Have as many answers inside multiple short text as you want to pick the answer options from multi question.
<script>
$(document).ready(function(){
$('div.multiple-short-txt').hide();
$('button#movesubmitbtn').on('click',function(){
var $boxes = $('div.multiple-short-txt input:text');
$('input:checkbox:checked').each(function(index){
$boxes.eq(index).val($(this).next().text());
});
});
});
</script>

Survey Designer and Programmer
"I always suggest to have a group by group display layout and create a seprate group for each question. This will be extra work but you will get flexiblity to create your question by using more than more lime survey question types."
Last Edit: 2 years 8 months ago by first.

Please Log in to join the conversation.

More
2 years 8 months ago #107998 by Bart01
trivender,

I was expecting some sort of loop.
Something like I found in the workarounds:

// Loop through multi-opt checkboxes and, if checked, show corresponding column of array
$('#question'+qMultiOpt+' input.checkbox').each(function(i){
if($(this).prop('checked') == true) {
var classArr3 = $(this).attr('id').split('X'+qMultiOpt);
var ansCode3 = classArr3[1];
$('#question'+qArray+' .ans-'+ansCode3+'').show();

But then, if checked, push the corresponding row into a variable, instead of column.

Please Log in to join the conversation.

Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form