Welcome to the LimeSurvey Community Forum

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

Joffms Tutorial 3: 4.1. Lückentext als Drop-Downs: Mehr Lücken erstellen

  • ellale.6
  • ellale.6's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 weeks 2 days ago #264900 by ellale.6
Please help us help you and fill where relevant:
Your LimeSurvey version: LimeSurvey Cloud   Version 6.5.9
Own server or LimeSurvey hosting: eigener Server
==================
Hallo,

ich habe aus dem Tutorial von Joffm "Gimmicks und andere Spielereien" die Fragegruppe 4.1 Lückentext als Drop-Downs in meine Umfrage importiert und soweit modifiziert. Jetzt möchte ich aber einen sehr viel längeren Lückentext nutzen und brauche dementsprechend mehr Lücken. Wie kann ich die Fragegruppe erweitern, damit das möglich ist?

Herzliche Grüße
Ella

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 weeks 1 day ago - 3 weeks 1 day ago #264909 by Joffm
Hallo, Ella,
schau, im Tutorial steht

Der Fragetext enthält alle notwendigen „Lücken“ als <span>…</span>-Elemente.

Genauer: es ist <span class="inserted-element"> </span>

Typ des Fragetextes ist also entweder „Klappbox“ oder „Kurzer Text“ und danach folgen noch Fragen desselben Typs für die weiteren „Lücken“.

Heißt also: Die eigentliche Frage enthält die erste Lücke und dann kommen noch weitere Fragen für die anderen (hast Du also 30 Lücken, noch 29 weitere Fragen)

Und das script ist ja eigentlich auch selbsterklärend
Code:
<script type="text/javascript" charset="utf-8">$(document).on('ready',function(){
 
//Dies ist die eigentliche Frage
var thisSelect = $('#question{QID} select[id^="answer"]:eq(0)');
// Ab hier die nächsten Fragen (nextAll) , die von 0 bis 5 angesprochen werden 
var secondSelect = $('#question{QID}').nextAll('[id^="question"]:eq(0)').find('select[id^="answer"]:eq(0)');
var thirdSelect = $('#question{QID}').nextAll('[id^="question"]:eq(1)').find('select[id^="answer"]:eq(0)');
var fourthSelect = $('#question{QID}').nextAll('[id^="question"]:eq(2)').find('select[id^="answer"]:eq(0)');
var fifthSelect = $('#question{QID}').nextAll('[id^="question"]:eq(3)').find('select[id^="answer"]:eq(0)');
var sixthSelect = $('#question{QID}').nextAll('[id^="question"]:eq(4)').find('select[id^="answer"]:eq(0)');
var seventhSelect = $('#question{QID}').nextAll('[id^="question"]:eq(5)').find('select[id^="answer"]:eq(0)');
 
// Move the elements; hier werden jetzt die oben angesprochenen weiteren 6 Fragen in die ursprüngliche Frage eingefügt
$('#question{QID} .inserted-element:eq(0)').append(thisSelect);
$('#question{QID} .inserted-element:eq(1)').append(secondSelect );
$('#question{QID} .inserted-element:eq(2)').append(thirdSelect );
$('#question{QID} .inserted-element:eq(3)').append(fourthSelect );
$('#question{QID} .inserted-element:eq(4)').append(fifthSelect );
$('#question{QID} .inserted-element:eq(5)').append(sixthSelect );
$('#question{QID} .inserted-element:eq(6)').append(seventhSelect );
 
// Hide the next questions; das sind wieder die 6 nächsten Fragen (nextAll) von 0-5, die ja gar nicht angezeigt werden
$('#question{QID}').nextAll('[id^="question"]:eq(0)').hide();
$('#question{QID}').nextAll('[id^="question"]:eq(1)').hide();
$('#question{QID}').nextAll('[id^="question"]:eq(2)').hide();
$('#question{QID}').nextAll('[id^="question"]:eq(3)').hide();
$('#question{QID}').nextAll('[id^="question"]:eq(4)').hide();
$('#question{QID}').nextAll('[id^="question"]:eq(5)').hide();
});
</script>


Wenn es bei Dir sehr viele sind, würde jetzt die Variablen nicht "secondSelect", "thirdSelect" nennen, sondern kurz und bündig
"S01", "S02",...,"S11",...

Das sollte alles kein großes Problem darstellen.

Du musst nur die weiteren Fragen anlegen (copy, copy, copy) und das script erweitern (eigentlich auch copy, copy, aber das :eq(x) anpassen).

Falls doch, schicke den lss Export der Umfrage (nur diese relevanten Fragen)

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 weeks 1 day ago by Joffm.

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose