Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi
  • Page :
  • 1
  • 2

SUJET : Hide/Remove Question Help If Empty

Hide/Remove Question Help If Empty il y a 1 an 2 mois #95931

  • kobaltz
  • Portrait de kobaltz
  • Hors ligne
  • Junior Lime
  • Messages : 24
  • Remerciements reçus 4
  • Karma: 1
I'm trying to hide the question help if no text was entered. I think that it will overall help the look and feel of the survey.



In my question.pstpl file, I have created an ID for each question helper. I then use javascript to check to see if its contents are empty. If so, then hide the element. However, it's not working. Here is what I have.
<tr><td class="survey-question-help" id=help_{QUESTION_CLASS}>{QUESTIONHELP}</td></tr>

<script>
$(document).ready(function(){
  if($('#help_{QUESTION_CLASS}').val().length == 0){
  $('#help_{QUESTION_CLASS}').hide();
  }
});
</script>
L'administrateur a désactivé l'accès en écriture pour le public.

Hide/Remove Question Help If Empty il y a 1 an 2 mois #95934

  • kobaltz
  • Portrait de kobaltz
  • Hors ligne
  • Junior Lime
  • Messages : 24
  • Remerciements reçus 4
  • Karma: 1
It is actually working. It just took my page a while to refresh. I suppose loading javascript after a page fully loads could display the boxes there until then. However, now it seems a bit random as to which questions will hide their text. They have unique code names.


<div id="question8545" class="text-short mandatory">
<table class="question-wrapper">
<tbody>
<tr>
<td>
<table cellspacing="0" width="100%">
<tbody>
<tr>
<td class="question-text">
<span class="qnumcode">5 </span>
<span class="asterisk">*</span>
Who is your primary contact with the payroll company?
<br>
<span class="questionhelp"></span>
<span id="vmsg_8545" class="questionhelp hide-tip"></span>
</td>
</tr>
<tr>
<td id="help_text-short" class="survey-question-help"></td>
</tr>
<tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<script>
$(document).ready(function(){
if($('#help_text-short').val().length == 0){
$('#help_text-short').hide();
}
});
</script>
Dernière édition: il y a 1 an 2 mois par kobaltz. Raison: t
L'administrateur a désactivé l'accès en écriture pour le public.

Hide/Remove Question Help If Empty il y a 1 an 2 mois #95935

  • kobaltz
  • Portrait de kobaltz
  • Hors ligne
  • Junior Lime
  • Messages : 24
  • Remerciements reçus 4
  • Karma: 1
I figured it out. I was using too generic of a code in the ID tag. Instead I referenced it off of the Question Number. I used the .is(':empty') check and it works perfectly now.
<script>
$(document).ready(function(){
  if($('#help_{QUESTION_NUMBER}').is(':empty')){
  $('#help_{QUESTION_NUMBER}').hide();
  }
});
</script>
L'administrateur a désactivé l'accès en écriture pour le public.

Hide/Remove Question Help If Empty il y a 1 an 2 mois #95942

  • Mazi
  • Portrait de Mazi
  • Hors ligne
  • LimeSurvey Team
  • Messages : 5300
  • Remerciements reçus 291
  • Karma: 247
Thanks for sharing your solution.

Please add this at manual -> workarounds ->JavaScript so it doesn't get lost when old forum posts are deleted.
Thanks!

Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)limesurvey.org'"
L'administrateur a désactivé l'accès en écriture pour le public.

Hide/Remove Question Help If Empty il y a 7 mois 6 jours #102804

  • MikeConom
  • Portrait de MikeConom
  • Hors ligne
  • Junior Lime
  • Messages : 39
  • Remerciements reçus 1
  • Karma: 0
kobaltz

its a nice idea to hide empty question.

for me i am looking to find a different solution.

The question help text to be hidden except the button(?).
when i press the hep button(?) then question help text to appear.
Have you a solution for this?

Thanks
L'administrateur a désactivé l'accès en écriture pour le public.

Hide/Remove Question Help If Empty il y a 7 mois 5 jours #102825

  • DenisChenu
  • Portrait de DenisChenu
  • En ligne
  • Moderator Lime
  • Messages : 6221
  • Remerciements reçus 791
  • Karma: 238
Hi,

I do a push qome day ago in skeleyonquest, maybe you can use same system:

github.com/Shnoulle/skeletonquest/commit...ff02b25346858b1ecR13
{if(!empty(QUESTIONHELP),"<tr><td class='survey-question-help'>".QUESTIONHELP."</td></tr>","")}
Ele you don't need help_{QUESTION_NUMBER} , just use:
$('#question{QID} .survey-question-help').hide();
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: MikeConom

Hide/Remove Question Help If Empty il y a 7 mois 5 jours #102856

  • MikeConom
  • Portrait de MikeConom
  • Hors ligne
  • Junior Lime
  • Messages : 39
  • Remerciements reçus 1
  • Karma: 0
Denis

Thanks for your responce

Is it possible in your example to be visible only the
X_Boilerpl.jpg

question mark and when i press it to be visible the help text ?
L'administrateur a désactivé l'accès en écriture pour le public.

Hide/Remove Question Help If Empty il y a 7 mois 17 heures #102921

  • DenisChenu
  • Portrait de DenisChenu
  • En ligne
  • Moderator Lime
  • Messages : 6221
  • Remerciements reçus 791
  • Karma: 238
Not with my example.

Need some js here.

Look at jquery documentation : api.jquery.com/

Denis
L'administrateur a désactivé l'accès en écriture pour le public.

Hide/Remove Question Help If Empty il y a 7 mois 15 heures #102925

  • tpartner
  • Portrait de tpartner
  • Hors ligne
  • LimeSurvey Team
  • Messages : 4068
  • Remerciements reçus 746
  • Karma: 341
Mike, here is an example of how to toggle the visibility of the help text when the image is clicked (this is for the default template and may need to be modified for other templates).

1) Add this to the end of template.js:
$(document).ready(function(){
 
	// Wrap the help text in a <span> element (excluding the help image)
	$('.survey-question-help').wrapInner('<span class="helpText" />');
	$('.survey-question-help').each(function(i) {
		$('img:eq(0)', this).addClass('helpImage');
		$(this).prepend($('img:eq(0)', this));
	});
 
	// Toggle the visibility of the help text
	$('.helpImage').click(function(event) {
		$(this).parent().find('.helpText').fadeToggle(600);
	});
 
	// Show the help element
	$('.survey-question-help').show();
});

2) Add this to the end of template.css:
.survey-question-help,
.survey-question-help .helpText {
	display: none;
}
Cheers,
Tony Partner

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

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Dernière édition: il y a 7 mois 15 heures par tpartner.
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: MikeConom

Hide/Remove Question Help If Empty il y a 6 mois 3 semaines #103164

  • MikeConom
  • Portrait de MikeConom
  • Hors ligne
  • Junior Lime
  • Messages : 39
  • Remerciements reçus 1
  • Karma: 0
Tony, i am working with limespired and i changed only this

$('.survey-question-help').wrapInner('<span class="helpText" style="display: none;" />');
Dernière édition: il y a 6 mois 3 semaines par MikeConom.
L'administrateur a désactivé l'accès en écriture pour le public.
  • Page :
  • 1
  • 2
Modérateurs: ITEd
Temps de génération de la page : 0.461 secondes
Donation Image