Welcome to the LimeSurvey Community Forum

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

Vignetten Design

  • lemon_survey
  • lemon_survey's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 11 months ago #240836 by lemon_survey
Vignetten Design was created by lemon_survey
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: Version 3.28.16+220621
Eigener Server oder LimeSurvey-Cloud: Gehostet über Universität
Genutzte Designvorlage:
==================
Hallo liebes Forum,
ich bin recht neu im Umgang mit Limesurvey und habe eine Frage zum Thema Vignettendesign, also das zufällige Anzeigen von Fragegruppen aus einer Menge von Fragegruppen. Ich habe hier im Forum bereits folgende DIskussion dazu gefunden hier: forums.limesurvey.org/forum/german-forum/120443-vignettendesign und versucht den Code darin umzusetzen. Leider klappt das bei mir nicht und ich weiß nicht wirklich warum.

Ich habe den Code ein wenig angepasst für ein Minimalbeispiel bei dem 2 von 4 Vignetten ausgewählt werden:
<
script type="text/javascript" charset="utf-8">
 
function shuffle ( array ) {
var currentIndex = array .length, temporaryValue, randomIndex;
 
// While there remain elements to shuffle...
while (0 !== currentIndex) {
 
// Pick a remaining element...
randomIndex = Math. floor (Math.random() * currentIndex);
currentIndex -= 1;
 
// And swap it with the current element.
temporaryValue = array /color]currentIndex[color=#009900;
array /color]currentIndex[color=#009900 = array /color]randomIndex[color=#009900;
array /color]randomIndex[color=#009900 = temporaryValue;
}
 
return array ;
}
 
 
$(document).on('ready pjax:scriptcomplete',function(){
// Fill the array (Ich habe das Array auf 4 Fälle gekürzt)
var arr1 =/color][color=#0000ff]"01"[/color][color=#339933],[/color] [color=#0000ff]"02"[/color][color=#339933],[/color] [color=#0000ff]"03"[/color][color=#339933],[/color] [color=#0000ff]"04"[/color][color=#009900;
arr1 = shuffle (arr1);
// slice auch gekürzt um nur zwei fälle auszuwählen

anumbers = '#,' + arr1.slice(0,2). join (',')+ ',';
$('#question{QID} input[type="text"]').val(anumbers);
$('#question{QID}').hide();
});
</script>

Die Fragegruppen habe ich dann jeweils entsprechend mit der Relevantgleichung {
strpos( Q0 , ',03,')} bzw. 01, 02, .... versehen.
Leider werden mir allerdings von meinen Vignetten keine angezeigt.
Kann mir hier jemand weiterhelfen? Oder einen alternative Lösung vorschlagen? Ich habe lss File angehängt.


Liebe Grüße

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 11 months ago #240841 by holch
Replied by holch on topic Vignetten Design
Idealerweise hängt man in solchen Fällen immer einen LSS-Export der Umfrage an. Einfach die Umfrage kopieren, alles rauslöschen was f6ur die Problemstellung nicht gebraucht wird, Fragen anonymisieren falls notwendig, als LSS exportieren und dann hier anhängen.

Ich meine, in deinem Code ist ja jede Menge Müll enthalten. Keine Ahnung wo der herkommt, ob das wirklich dein Code ist (dann wundert es mich nicht, dass es nicht funktioniert) oder das Forum hat das eingefügt (vor allem "color"). Das macht es schwer deinen Code zu lesen.

Und ohne die Struktur deine Umfrage zu kennen ist es natürlich auch schwierig irgendwas zu sagen.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

  • lemon_survey
  • lemon_survey's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 11 months ago #240845 by lemon_survey
Replied by lemon_survey on topic Vignetten Design
Oh ich dachte ich hätte den .lss export angehängt, hier ist er nun:

 

File Attachment:

File Name: limesurvey...2-24.lss
File Size:19 KB


den Code habe ich wie gesagt aus diesem Forumsbeitrag "geklaut": forums.limesurvey.org/forum/german-forum/120443-vignettendesign   somit ist er nicht von mir ich habe nur für ein Minimalbeispiel die Arraylänge angepasst. Ich bin auch kein javascript Profi, deswegen kann ich leider schlecht sagen was davon nützlich ist und was nicht. Ich dachte der Code implementiert eine Funktion, die ein array mischt, und dann daraus ein Liste zurückgibt, mit der man dann die Fragegruppen auswählen kann.

LG

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 11 months ago - 1 year 11 months ago #240846 by Joffm
Replied by Joffm on topic Vignetten Design
Der "Farben-Müll" kommt vermutlich daher, dass er den Code aus einem mit
Code:
...
umschlossenen script einfach kopiert hat.
Also Code im Forum immer einbinden, indem man den entsprechenden Button benutzt.

So, jetzt noch eine Antwort zum Problem:
Anscheinend hast Du keine Rechte javascript einzusetzen (typisch für Uni-Versionen; der Uni-Admin möchte eben vermeiden, dass Studenten zu viel kreative Gewalt anwenden).
Dies erkennst Du ja daran, dass Dein eingefügter Code zum großen Teil nach dem Speichern verschwunden ist.

Du kannst Dein Anliegen aber auch nur mit ExpressionManager lösen.
Schau Dir dazu einmal mein Tutorial 4 an.

Joffm

P.S.
Du solltest dann auch einmal etwas konkreter werden.
Wovon reden wir? Wieviel aus wieviel?
Davon hängt es ja auch ab, ob die ExpressionManager Lösung praktikabel ist.

Außerdem gibt es ja auch die Lösung mittels der property ".relevanceStatus"

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 1 year 11 months ago by Joffm.
The following user(s) said Thank You: lemon_survey

Please Log in to join the conversation.

  • lemon_survey
  • lemon_survey's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 11 months ago #240855 by lemon_survey
Replied by lemon_survey on topic Vignetten Design
Ahh das macht sinn! Ich habe mich schon gefragt, warum aus dem Quellcode so viel weggekürzt wird nach dem Speichern.
Ich schau mir dein Tuturial mal an vielen Dank.
Genauer geht es bei mir um 60 Vignetten, von denen jeder Teilnehmer 7 angezeigt bekommen soll und dazu je 3 festgelegte Fragen beantworten soll.

Vielen Dank schon mal!

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 11 months ago #240870 by Joffm
Replied by Joffm on topic Vignetten Design
Hier zwei Beispiele, wie Du dies bewerkstelligen kannst, nur mit eingebauten Funktionen, sprich ExpressionManager/Script.

1. Das, was ich im Tutorial als Urnenziehung beschrieben habe.
In der "scharfen" Umfrage sind die beiden Fragen "eMat und EGes natürlich versteckt.
Und es sind im Anschluss nur acht Gruppen; es ist ja nur ein Beispiel.
 

File Attachment:

File Name: limesurvey...3143.lss
File Size:46 KB


2. Ein Beispiel mit ".relevanceStatus".
Im Grunde wird nur gezählt, wie oft andere Gruppen bereits erfragt wurden; wenn es genügend sind, ist Schluss.
Erklärt ist es hier
[url] forums.limesurvey.org/index.php/forum/ge...ellen?start=6#219974 [/url]

 

File Attachment:

File Name: limesurvey...4146.lss
File Size:22 KB


Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 11 months ago #240876 by holch
Replied by holch on topic Vignetten Design
sehr spannender Ansatz, Joffm. Ich glaube grob zu verstehen, was du da machst, muss es mir aber nochmal etwas besser anschauen um es genau zu verstehen. Ich speicher das jedenfalls mal unter Beispiele bei mir ab.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 11 months ago #240886 by Joffm
Replied by Joffm on topic Vignetten Design
Hallo, @holch, meinst Du meine Fingerübung mit den Expressions?

Es gibt auch noch diese Lösung mit ".gseq".

Gruppe 0:
Q0: Irgendwelche Fragen vor den Vignettenfragen

Gruppe 1: Erste Vignettengruppe
Q1: Erste Frage dieser Gruppe

Gruppe 2: Zweite Vignettengruppe
Q2: Zweite Frage dieser Gruppe
...

Nun kann ich mittels den Gruppenbedingungen:
Gruppe 1: Q1.gseq-Q0.gseq<8 
Gruppe 2: Q2.gseq-Q0.gseq<8 
...
meine 7 Gruppen anzeigen.
Die Subtraktion von Q0.gseq dient dazu, die Formel generell zu halten, da es ja bei zwei oder mehr Gruppen vor den Vignettenfragen Verschiebungen geben würde.
Jetzt ist das Ergebnis für die ersten Vignettengruppe immer "1".

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose