Hide next subquestion until current one is answered

More
4 years 7 months ago #87712 by coeneisma
coeneisma created the topic: Hide next subquestion until current one is answered
Hi all,

Small question, searched but couldn't find the answer. Is it possible to hide the next subquestion untill any data is putt in the current one?

Got a question with 30 or so subquestions (multiple short questions, see attachment), and to keep the survey clean I want to hide all inputfields until the previous one is given.

Thanks in advance!
Attachments:

Please Log in to join the conversation.

More
4 years 7 months ago #87717 by coeneisma
coeneisma replied the topic: Hide next subquestion until current one is answered
btw, language is set to dutch in attached lsg-file

Please Log in to join the conversation.

More
4 years 7 months ago #87727 by DenisChenu
DenisChenu replied the topic: Hide next subquestion until current one is answered
There are non included function in LimeSurvey.

You have to look at workarounds if you found something like this.

Maybe that one : docs.limesurvey.org/Workarounds%3A+Manip...exible_Text_question

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

More
4 years 7 months ago #87758 by tpartner
tpartner replied the topic: Hide next subquestion until current one is answered
Or, as a simplified version of that workaround, you could add this to the source of the question. This script will hide all multiple-short-txt answers except the first one and then as a value is entered in each, the next one is shown.
<script type="text/javascript" charset="utf-8">
	$(document).ready(function(){
 
		$('.multiple-short-txt ul.subquestions-list li').hide();
		$('.multiple-short-txt ul.subquestions-list li:first').show();
		$('.multiple-short-txt ul.subquestions-list input.text').keyup(function(){
			if($(this).val() !== '') {
				$(this).parents('li:eq(0)').next('li').show();
			}
		});
 
	});
 
</script>

Here's a sample survey with the code in the first question of your group.

File Attachment:

File Name: limesurvey...7646.lss
File Size:53 KB

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

Please Log in to join the conversation.

More
4 years 7 months ago #87781 by coeneisma
coeneisma replied the topic: Hide next subquestion until current one is answered
Thanks a lot guys! Cheers!

Please Log in to join the conversation.

More
2 years 8 months ago #113896 by envitera
envitera replied the topic: Hide next subquestion until current one is answered

tpartner wrote:

<script type="text/javascript" charset="utf-8">
	$(document).ready(function(){
 
		$('.multiple-short-txt ul.subquestions-list li').hide();
		$('.multiple-short-txt ul.subquestions-list li:first').show();
		$('.multiple-short-txt ul.subquestions-list input.text').keyup(function(){
			if($(this).val() !== '') {
				$(this).parents('li:eq(0)').next('li').show();
			}
		});
 
	});
 
</script>


How to change this code and the class .multiple-short-txt with .array­-mu­lti­-fl­exi­-text to adapt it for Array (Multi Flexible)(Text)? Thanks in advance for any possible hint given!

Please Log in to join the conversation.

More
2 years 8 months ago #113907 by tpartner
tpartner replied the topic: Hide next subquestion until current one is answered
This should do the trick:

<script type="text/javascript" charset="utf-8">	
	$(document).ready(function(){
 
		// Identify this question
		var thisQuestion = $('#question{QID}');
 
		$('tr.subquestion-list', thisQuestion).hide();
		$('tr.subquestion-list:first', thisQuestion).show();
		$('input[type="text"]', thisQuestion).keyup(function(){
			if($(this).val() !== '') {
				$(this).closest('tr.subquestion-list').next('tr.subquestion-list').show();
			}
		});
 
	});
</script>

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

Please Log in to join the conversation.

More
2 years 7 months ago - 2 years 7 months ago #114086 by envitera
envitera replied the topic: Hide next subquestion until current one is answered
Yes, this works nice, thanks !

Oh and i've tried to integrate another condition in this script which would show only certain number of empty lines. This value would be defined in a preceding numeric question. Like described in this post . I'll try to make that functional and add the code later with a survey example.
Last Edit: 2 years 7 months ago by envitera. Reason: added text

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now