- Posts: 4
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Exklusiv Option, die alles ausser eine Antwort ausschliesst
- Phinea
- Topic Author
- Offline
- New Member
Less
More
2 years 5 months ago #221459
by Phinea
Exklusiv Option, die alles ausser eine Antwort ausschliesst was created by Phinea
Hallo zusammen
Gerne würde ich bei einer Mehrfachauswahl mit 5 Antwortoptionen (inklusive der „Anderes“ Option) eine Exklusiv-Option einfügen, welche an vierter Stelle steht und die drei ersten Optionen, aber nicht die fünfte „Anderes“ Option ausschliesst/ergrauen lässt. Kennt jemand einen Code, mit dem das funktionieren könnte?
Ich benutze die Version 5.1.17.
Vielen Dank!
Gerne würde ich bei einer Mehrfachauswahl mit 5 Antwortoptionen (inklusive der „Anderes“ Option) eine Exklusiv-Option einfügen, welche an vierter Stelle steht und die drei ersten Optionen, aber nicht die fünfte „Anderes“ Option ausschliesst/ergrauen lässt. Kennt jemand einen Code, mit dem das funktionieren könnte?
Ich benutze die Version 5.1.17.
Vielen Dank!
The topic has been locked.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12916
- Thank you received: 3975
2 years 5 months ago #221460
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Exklusiv Option, die alles ausser eine Antwort ausschliesst
Nein,
entweder die Option ist exklusiv oder nicht.
Das musst Du dann über Validierung regeln.
Joffm
entweder die Option ist exklusiv oder nicht.
Das musst Du dann über Validierung regeln.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
- Phinea
- Topic Author
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
2 years 5 months ago #221462
by Phinea
Replied by Phinea on topic Exklusiv Option, die alles ausser eine Antwort ausschliesst
Hallo Joffm
Danke für deine Antwort. Ich dachte immer, dass Validierung für Zahleneingaben ist.
Kannst du mir erklären, wie ich die Validierungsfunktion für mein Problem brauchen kann? Ich stehe leider noch auf dem Schlauch
Danke für deine Antwort. Ich dachte immer, dass Validierung für Zahleneingaben ist.
Kannst du mir erklären, wie ich die Validierungsfunktion für mein Problem brauchen kann? Ich stehe leider noch auf dem Schlauch
The topic has been locked.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12916
- Thank you received: 3975
2 years 5 months ago #221463
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Exklusiv Option, die alles ausser eine Antwort ausschliesst
Hallo,
Mit der Validierung überprüfst Du generell, dass nur von Dir erlaubte Dinge eingegeben werden.
Was ist denn hier erlaubt?
Wenn die Teilfrage 4 nicht ausgewählt wurde, ist der Rest egal.
Wenn sie aber ausgewählt wurde, darf die Anzahl der ausgewählten Items (exklusive "Sonstiges") nur 1 sein.
Wir haben ja die Codes
Q1_SQ001
Q1_SQ002
Q1_SQ003
Q1_SQ004
Q1_other
Wenn man dies nicht weiß, ist es das Beste, man aktiviert die Umfrage und schaut sich die Antworttabelle an (In meinem Beispiel heißt die Frage nun einmal Q16.)
Um die Anzahl der gewählten Items zu bestimmen, dient die Funktion "count".
Und mit dem Wissen über "self", und "that" kann man nun einfach als Validierungsgleichung schreiben
self.sq_SQ004!="Y" OR (self.sq_SQ004=="Y" AND count(self.sq_SQ)==1)
Zur Erklärung:
Das "self.sq_"-Konstrukt expandiert und berücksichtigt alle Teilfragen, die die Buchstabenkombination nach "sq_" enthalten.
Also "self.sq_SQ004" ist gleichbedeutend mit "Q1_SQ004", erleichtert aber ein eventuelles Umbenennen der Frage ("self" referenziert immer den Fragencode)
Dagegen wird "count(self.sq_SQ)" erweitert zu "count(Q1_SQ001, Q1_SQ002, Q1_SQ003, Q1_SQ004)".
Und hier kommt uns LimeSurvey entgegen. Da die "Sonstigen"-Option "Q1_other" heißt, also kein "SQ" enthält, wird sie nicht mitgerechnet.
Und dann noch einen knackigen Hinweis wie hier einfach
{if(self.sq_SQ004=="Y" AND count(self.sq_SQ)>1,"Teilfrage 4 ist exklusiv","")}
bekommt man dann dies:
Viel Erfolg
Joffm
Mit der Validierung überprüfst Du generell, dass nur von Dir erlaubte Dinge eingegeben werden.
Was ist denn hier erlaubt?
Wenn die Teilfrage 4 nicht ausgewählt wurde, ist der Rest egal.
Wenn sie aber ausgewählt wurde, darf die Anzahl der ausgewählten Items (exklusive "Sonstiges") nur 1 sein.
Wir haben ja die Codes
Q1_SQ001
Q1_SQ002
Q1_SQ003
Q1_SQ004
Q1_other
Wenn man dies nicht weiß, ist es das Beste, man aktiviert die Umfrage und schaut sich die Antworttabelle an (In meinem Beispiel heißt die Frage nun einmal Q16.)
Um die Anzahl der gewählten Items zu bestimmen, dient die Funktion "count".
Und mit dem Wissen über "self", und "that" kann man nun einfach als Validierungsgleichung schreiben
self.sq_SQ004!="Y" OR (self.sq_SQ004=="Y" AND count(self.sq_SQ)==1)
Zur Erklärung:
Das "self.sq_"-Konstrukt expandiert und berücksichtigt alle Teilfragen, die die Buchstabenkombination nach "sq_" enthalten.
Also "self.sq_SQ004" ist gleichbedeutend mit "Q1_SQ004", erleichtert aber ein eventuelles Umbenennen der Frage ("self" referenziert immer den Fragencode)
Dagegen wird "count(self.sq_SQ)" erweitert zu "count(Q1_SQ001, Q1_SQ002, Q1_SQ003, Q1_SQ004)".
Und hier kommt uns LimeSurvey entgegen. Da die "Sonstigen"-Option "Q1_other" heißt, also kein "SQ" enthält, wird sie nicht mitgerechnet.
Und dann noch einen knackigen Hinweis wie hier einfach
{if(self.sq_SQ004=="Y" AND count(self.sq_SQ)>1,"Teilfrage 4 ist exklusiv","")}
bekommt man dann dies:
Viel Erfolg
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
- Phinea
- Topic Author
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
2 years 5 months ago #221468
by Phinea
Replied by Phinea on topic Exklusiv Option, die alles ausser eine Antwort ausschliesst
Hallo Joffm
Vielen Dank für deine ausführliche Antwort und Erklärung!
Genau, nur wenn Teilfrage 4 ausgewählt wurde, werden die ersten 3 Teilfragen ausgeschlossen, ansonsten darf jegliche Kombination ausgewählt werden.
Ich habe deinen Code in Grün kopiert und eingegeben, jedoch passiert bei der Umfrage nichts. Es zeigt keine Fehlermeldung und ergraut auch nicht, wenn ich zb Teilfrage 2 und 4 gleichzeitig auswähle. Weisst du was der Grund dafür sein könnte? Hat es vielleicht etwas mit der Version 5.1.17 zu tun?
Vielen Dank für deine Hilfe!
Vielen Dank für deine ausführliche Antwort und Erklärung!
Genau, nur wenn Teilfrage 4 ausgewählt wurde, werden die ersten 3 Teilfragen ausgeschlossen, ansonsten darf jegliche Kombination ausgewählt werden.
Ich habe deinen Code in Grün kopiert und eingegeben, jedoch passiert bei der Umfrage nichts. Es zeigt keine Fehlermeldung und ergraut auch nicht, wenn ich zb Teilfrage 2 und 4 gleichzeitig auswähle. Weisst du was der Grund dafür sein könnte? Hat es vielleicht etwas mit der Version 5.1.17 zu tun?
Vielen Dank für deine Hilfe!
The topic has been locked.
- Phinea
- Topic Author
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
2 years 5 months ago #221473
by Phinea
Replied by Phinea on topic Exklusiv Option, die alles ausser eine Antwort ausschliesst
Jetzt hat es doch geklappt. Nur habe ich jetzt ein neues Problem; wenn ich zB Teilfrage 2 oder 3 auswähle, kommt die Meldung, dass ich die "Sonstiges" Teilfrage auch beantworten muss. Das wollte ich nicht; ich wollte, dass nur wenn man die Teilfrage 4 ankreuzt, die ersten 3 verschwinden. Die "Sonstiges Option" sollte freiwillig sein, egal welche Antworten man ankreuzt.
Weiss jemand wie ich das wegbekomme?
Weiss jemand wie ich das wegbekomme?
The topic has been locked.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12916
- Thank you received: 3975
2 years 5 months ago #221476
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Exklusiv Option, die alles ausser eine Antwort ausschliesst
Hallo,
zunächst noch einmal hierzu
Ich hatte die zwei Farben gewählt, um zurückzuverweisen auf die zwei Möglichkeiten die es gibt
Der blaue Teil deckt die Möglichkeit ab, dass das 4. Item nicht ausgewählt wurde, der grüne, dass es ausgewählt wurde.
Daher muss natürlich der gesamte Term eingetragen werden.
self.sq_SQ004!="Y" OR (self.sq_SQ004=="Y" AND count(self.sq_SQ)==1)
Und jetzt zum letzten post:
Wenn Du uns nicht zeigst, was genau Du als Validdierungsgleichung eingetragen hast, kann Dir auch niemand helfen.
Joffm
zunächst noch einmal hierzu
Das zeigt wieder: "Wie man es macht, ist es falsch"Ich habe deinen Code in Grün kopiert
Ich hatte die zwei Farben gewählt, um zurückzuverweisen auf die zwei Möglichkeiten die es gibt
und für jede der beiden Fälle eine Farbe genommen.
- Wenn die Teilfrage 4 nicht ausgewählt wurde, ist der Rest egal.
- Wenn sie aber ausgewählt wurde, darf die Anzahl der ausgewählten Items (exklusive "Sonstiges") nur 1 sein.
Der blaue Teil deckt die Möglichkeit ab, dass das 4. Item nicht ausgewählt wurde, der grüne, dass es ausgewählt wurde.
Daher muss natürlich der gesamte Term eingetragen werden.
self.sq_SQ004!="Y" OR (self.sq_SQ004=="Y" AND count(self.sq_SQ)==1)
Und jetzt zum letzten post:
Wenn Du uns nicht zeigst, was genau Du als Validdierungsgleichung eingetragen hast, kann Dir auch niemand helfen.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm