Welcome to the LimeSurvey Community Forum

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

Teilfrage Blöcke innerhalb einer Matrix

  • Ildelmloi_249477
  • Ildelmloi_249477's Avatar Topic Author
  • Offline
  • Banned
  • Banned
More
1 year 6 months ago #233129 by Ildelmloi_249477
Teilfrage Blöcke innerhalb einer Matrix was created by Ildelmloi_249477
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: Version 5.4.7
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: Erben [fruity]
==================
Hallo :)

Ich muss bei einer Matrix-Frage zwei Blöcke erstellen bei den Teilfragen. Es würde mehr oder weniger so aussehen:

Frage?

Überschrift Teilfrage (Block 1)

a) Teilfrage
b) Teilfrage
c) Teilfrage
d) Teilfrage
e) Teilfrage
f) Teilfrage
g) Teilfrage

Überschrift Teilfrage (Block 2)

a) Teilfrage
b) Teilfrage
c) Teilfrage
d) Teilfrage
e) Teilfrage
f) Teilfrage

+ Antwortoptionen

Ich muss das so machen, dass die Teilfragen innerhalb des jeweiligen Blocks bleiben und die auch randomisieren... leider weiß ich nicht wie ich diese Blöcke mit Überschrift erstellen kann oder wie die Teilfragen innerhalb des Blocks bleiben können.

Ich hoffe dass jemand mir weiterhelfen kann :')

Ich bedanke mich im Voraus!!

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 6 months ago - 1 year 6 months ago #233131 by Joffm
Replied by Joffm on topic Teilfrage Blöcke innerhalb einer Matrix
Ich würde zwei Fragen daraus machen, bei beiden einen zusätzlichen Header (siehe mein Tutorial "Matrizen")
und dann diese beiden Fragen mit den css-Klassen "no-bottom" und "no-question" zusammenfügen.
Schicke dazu einmal den lss Export dieser relevanten Fragen.

Irgendwie so


Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
Last edit: 1 year 6 months ago by Joffm.

Please Log in to join the conversation.

  • Ildelmloi_249477
  • Ildelmloi_249477's Avatar Topic Author
  • Offline
  • Banned
  • Banned
More
1 year 6 months ago #233136 by Ildelmloi_249477
Replied by Ildelmloi_249477 on topic Teilfrage Blöcke innerhalb einer Matrix
Vielen Dank für die schnelle Antwort!! Das Tutorial hat mir sehr gut geholfen... allerdings sind neue Fragen entstanden :(

Im Anhang finden Sie die Frage (.lsq). Es gibt aber folgende Probleme:

- Wenn ich versuche die Antworten (Y-Achse) zu randomisieren, gelangen die Antworten aus dem zweiten Block ins 1... es muss tatsächlich so sein, dass die ersten 7 Antworten in der Y-Achse in einem Block bleiben und die letzten 6 Antworten in einem Block.
- Man kann mehrere Antworten auf der X-Achse anklicken, ich muss das aber so einstellen, dass man nur eine Antwort anklicken kann...

Ich hoffe Sie können mir weiter helfen.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 6 months ago #233139 by Joffm
Replied by Joffm on topic Teilfrage Blöcke innerhalb einer Matrix
Bitte, weder lsq. noch lsg-Exporte, nur lss.
1. Das Beispiel im Tutorial zeigt ja auch eine Matrix(Zahlen).
Klar, dass dies anepasst werden muss, da ja in der x-Achse keine Teilfragen sind (subquestions) sondern Antworten (answers).
Damit habe ich schon verraten, was in dem script geändert werden muss.

In Kürze werde ich dies im pdf des Tutorials zufügen.

2. Mein gezeigtes Beispiel enthält ja auch zwei separate Fragen, die jede für sich randomisiert wird.
Mit etwas css werden sie optisch zusammengefügt.
Eben die beiden css-Klassen "no-bottom" und "no-question".
Diese werden mehrmals hier im Forum gezeigt. Einfach danach suchen.

Joffm
 

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

Please Log in to join the conversation.

  • Ildelmloi_249477
  • Ildelmloi_249477's Avatar Topic Author
  • Offline
  • Banned
  • Banned
More
1 year 6 months ago #233142 by Ildelmloi_249477
Replied by Ildelmloi_249477 on topic Teilfrage Blöcke innerhalb einer Matrix
Vielen Dank!!

ich habe das jetzt geschafft, dass man nur eine Antwort auswählen kann und dass man die Fragen innerhalb des Block randomisiert.

Leider habe ich noch nicht ganz verstanden, wie ich die zwei Frage zusammenfügen kann.

Ich habe folgendes Script gefunden:.no-question { border-top:0; }
.no-question .question-title-container { display:none; }
.no-question .question-valid-container { display:none; }
.no-bottom { border-bottom:0;margin-bottom:0; }
.no-question .answer-container {
    padding-top: 0em;
    padding-bottom: 0.5em;
}
.no-bottom .answer-container {
    padding-bottom: 0em;
}


Allerdings bin ich mir noch unsicher wo ich das eingeben muss. Ich habe versucht:

- bei beide Fragen -> bei Anzeige -> bei CSS-Klasse(n) das ganze einzugeben = hat nicht geklappt

- bei Frage 1 -> bei Anzeige -> bei CSS-Klasse(n) -> no bottom einzugeben
- bei Frage 2 -> bei Anzeige -> bei CSS-Klasse(n) -> no question einzugeben= hat nicht geklappt

- bei Frage 1 -> in Quellencode -> no bottom einzugeben
- bei Frage 2 -> in Quellencode -> bei CSS-Klasse(n) -> no question einzugeben= hat nicht geklappt

- bei Konfiguration -> Designvorlage -> Erweitern -> custom.css das einzugeben

= hat nicht geklappt


leider bin ich noch ganz neu mit LimeSurvey und kenne mich noch nicht so gut aus, kann sein dass ich was ganz dummes ausprobiert habe :(

im Anhang habe ich die .lss Datei zu den zwei Fragen hinzugefügt :)


 

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 6 months ago #233146 by Joffm
Replied by Joffm on topic Teilfrage Blöcke innerhalb einer Matrix
Hallo

- bei Frage 1 -> bei Anzeige -> bei CSS-Klasse(n) -> no bottom einzugeben
- bei Frage 2 -> bei Anzeige -> bei CSS-Klasse(n) -> no question einzugeben= hat nicht geklappt

- bei Konfiguration -> Designvorlage -> Erweitern -> custom.css das einzugeben

Das ist genau das richtige Procedere.
Wobei natürlich etwas unklar ist, wie Du das Letzte wirklich gemacht hast.
Hast Du überhaupt das erweiterte Theme dann als zu benutzendes Theme ausgewählt?

Dann hast Du für alle späteren Zwecke dieses Feature griffbereit.
Hier siehst Du dieses css-snippet in einem meiner themes
 

In meinem Beispiel habe ich jetzt diese beiden Klassen einfach in die erste Frage der beiden eingefügt.
Zusätzlich eine Klasse "no-question2", um bei der zweiten Frage auch die Antwortoptionen auszublenden.


Nun aber noch etwas Substantielleres:
Du willst doch eine Matrix und keine Matrix(Zahlen).
Hier ist deine Einstellung "Maximale Antworten: 1" natürlich nicht zielführend, da sie bedeutet, dass Du in der gesamten Matrix nur ein einziges Kreuz machen kannst.
Hier müsstest Du validieren mit etwas wie
"count(self.sq_Y001)<2 and count(self.sq_Y002)<2 and count(self.sq_Y003)<2 and count(self.sq_Y004)<2 and ..."
wobei Du dann natürlich die Teilfragen der x- und y-Achse unterschiedlich kodieren musst (ich nehme immer "Y001,Y002,..." und "X001,X002,..."); sonst kannst Du nicht die Variable "self" benutzen und musst alles einzeln hineinschreiben.

Also wähle als Fragetyp auch eine Matrix.
Ich hatte ja schon verraten, wie man das script dafür umbauen muss.

da ja in der x-Achse keine Teilfragen sind (subquestions) sondern Antworten (answers)

Es genügt also, an diesen beiden Stellen
Code:
        var columnsLength = $('tr.subquestion-list:eq(0) > *', thisQuestion).length;
         // Insert the new rows
        $('tr.subquestion-list:eq(0)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading1+'</th></tr>');
"subquestion-list" in "answers-list" zu ändern.
Code:
     var columnsLength = $('tr.answers-list:eq(0) > *', thisQuestion).length;
         // Insert the new rows
        $('tr.answers-list:eq(0)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading1+'</th></tr>');
 

Bitte nicht verwechseln mit "subquestions-list" 
Code:
        $('table.subquestions-list tbody tr', thisQuestion).each(function(i) {
 
Dies ist die Liste der Teilfragen der Y-Achse.

Kleine Marginalie: Es gibt ja nur einen Header. Dann musst Du nicht zwei Header definieren und einen außerhalb des Bereiches setzen.

Gut, dann gibt es dies
 

Und hier die lss dazu
 

File Attachment:

File Name: limesurvey... (1).lss
File Size:46 KB


Joffm

Zur dieser Frage selbst sage ich lieber nichts. 
Da ist schon ein ziemlich starker Bias drin. (Komparative, Skala nur in einer Richtung, Unklarheit, wer etwas tut oder tun soll (die Gesellschaft?)






 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Ildelmloi_249477

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose