- Posts: 15
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Antworten in Reihenfolge bringen bzw. "Mehrfach kurze Texte" mit "Reihenfolge"
- Heloo
- Topic Author
- Offline
- New Member
Less
More
3 years 5 months ago - 3 years 5 months ago #208288
by Heloo
Antworten in Reihenfolge bringen bzw. "Mehrfach kurze Texte" mit "Reihenfolge" was created by Heloo
Hallo Community,
ich arbeite mit LS Version 3.23.3+200909 und möchte gerne 2 Fragetypen (Mehrfach kurze Texte und Reihenfolge) miteinander kombinieren.
Frage 1 (Mehrfach kurze Texte):
Bitte nennen Sie Ihre 5 Lieblingseissorten.
Frage 2 (Reihenfolge):
Bitte bringen Sie Ihre genannten Eissorten in eine absteigende Reihenfolge
Meine Frage:
Wie kann ich die Antworten aus Frage 1 an Frage 2 zur Sortierung übergeben?
Ich meine es schon einmal irgendwo gesehen zu haben und das man es mit Java-Script in der zweiten Frage irgendwie hinbekommt und das zwischen den beiden Fragen der Browser einmal aktualisieren muss (Format: Frage für Frage). Leider war meine erneute Suche erfolglos.
Ich bin für jede Hilfe dankbar,
Grüße
ich arbeite mit LS Version 3.23.3+200909 und möchte gerne 2 Fragetypen (Mehrfach kurze Texte und Reihenfolge) miteinander kombinieren.
Frage 1 (Mehrfach kurze Texte):
Bitte nennen Sie Ihre 5 Lieblingseissorten.
Frage 2 (Reihenfolge):
Bitte bringen Sie Ihre genannten Eissorten in eine absteigende Reihenfolge
Meine Frage:
Wie kann ich die Antworten aus Frage 1 an Frage 2 zur Sortierung übergeben?
Ich meine es schon einmal irgendwo gesehen zu haben und das man es mit Java-Script in der zweiten Frage irgendwie hinbekommt und das zwischen den beiden Fragen der Browser einmal aktualisieren muss (Format: Frage für Frage). Leider war meine erneute Suche erfolglos.
Ich bin für jede Hilfe dankbar,
Grüße
Last edit: 3 years 5 months ago by Heloo.
The topic has been locked.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12921
- Thank you received: 3977
3 years 5 months ago #208294
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Antworten in Reihenfolge bringen bzw. "Mehrfach kurze Texte" mit "Reihenfolge"
Hallo, Heloo
Die Sache mit javascript ist nämlich Unsinn.
Besser, Du liest einmal das Kapitel über Fragetypen im Handbuch.
manual.limesurvey.org/Question_types
Dort steht dann bei der Ranking-Frage - auch bei anderen:
manual.limesurvey.org/Question_type_-_Ranking
Unter anderem siehst Du Folgendes:
Und jetzt kommt das Entscheidende:
Und damit hast Du alles:
Benutze dieselben Codes in der Mehrfachnennungsfrage (Q1) und der Rankingfrage (Q2).
Also belasse es NICHT bei den default-Codes "SQ001", "SQ002",... bzw. "A1", "A2",...
Dann geht es "in die Hose".
Benenne beide identisch, einfach "1", "2",...
Und setze in der Rankingfrage den Matrixfilter auf die Mehrfachnennungsfrage, also hier Q1.
Dies muss auch nicht auf zwei verschiedenen Seiten sein - obwohl dies natürlich die bessere Lösung ist.
Joffm
Und vergiss nicht den Code "Keine davon", bei dem Die Rangreihe natürlich nicht angezeigt wird, und wohl auch, wenn nur eine Eissorte ausgewählt wurde.
Ich meine es schon einmal irgendwo gesehen zu haben und das man es mit Java-Script in der zweiten Frage irgendwie hinbekommt und das zwischen den beiden Fragen der Browser einmal aktualisieren muss (Format: Frage für Frage).
Gott sei Dank.Leider war meine erneute Suche erfolglos.
Die Sache mit javascript ist nämlich Unsinn.
Besser, Du liest einmal das Kapitel über Fragetypen im Handbuch.
manual.limesurvey.org/Question_types
Dort steht dann bei der Ranking-Frage - auch bei anderen:
manual.limesurvey.org/Question_type_-_Ranking
Unter anderem siehst Du Folgendes:
Array filter (array_filter)
Description
The Array filter setting allows you to use any multiple choice question to select or set which responses are displayed in a subsequent list, array or multiple choice question.
Und jetzt kommt das Entscheidende:
Und damit hast Du alles:
Benutze dieselben Codes in der Mehrfachnennungsfrage (Q1) und der Rankingfrage (Q2).
Also belasse es NICHT bei den default-Codes "SQ001", "SQ002",... bzw. "A1", "A2",...
Dann geht es "in die Hose".
Benenne beide identisch, einfach "1", "2",...
Und setze in der Rankingfrage den Matrixfilter auf die Mehrfachnennungsfrage, also hier Q1.
Dies muss auch nicht auf zwei verschiedenen Seiten sein - obwohl dies natürlich die bessere Lösung ist.
Joffm
Und vergiss nicht den Code "Keine davon", bei dem Die Rangreihe natürlich nicht angezeigt wird, und wohl auch, wenn nur eine Eissorte ausgewählt wurde.
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Heloo
The topic has been locked.
- Heloo
- Topic Author
- Offline
- New Member
Less
More
- Posts: 15
- Thank you received: 0
3 years 5 months ago #208309
by Heloo
Replied by Heloo on topic Antworten in Reihenfolge bringen bzw. "Mehrfach kurze Texte" mit "Reihenfolge"
Hallo Joffm,
vielen Dank für deine Antwort, ich habe es gerade nachgebaut und auf jedenfall etwas neues dabei gelernt.
Es ist allerdings nicht genau das, was ich meinte. In deinem Beispiel , wenn ich es richtig verstanden habe, ist:
Frage 1: Multiple Choice Mehrfachantwort
1. Eis1
2. Eis2
3. Eis3
usw.
Frage 2: Reihenfolge
1. Eis1
2. Eis2
3. Eis3
usw. (gleiche Antworten wie bei Frage 1 und gleich Codierung)
Durch den Matrixfilter werden dann bei der Reihenfolge-Frage nur die Möglichkeiten angezeigt, wo die Checkbox angeklickt ist, der Rest ist je nach Einstellung entweder versteckt oder deaktiviert. Ist ein sehr cooles Feature, dass (da ich jetzt weiß wie^^) bestimmt auch mal anwenden werde. Allerdings müssen die Namen in Frage 1 fest vorgegeben werden.
Es besteht bei mir das Problem, dass ich nicht alle 5 Eissorten fest vorgeben möchte, sondern diese erst in einer "Freitext Mehrfachfrage" benennen möchte, um sie anschließend in ein Ranking zu bringen.
(Spricht: Die Namen sollen eingetippt werden (z.B. ein exotisches Curry-Wurst-Eis, auf das die wenigsten vermutlich vorher kommen) und die Eissorten sollen dann in der Reihenfolge-Frage in den Balken auftauchen)
Während ich diese Antwort geschrieben habe, bin ich allerdings dann auch auf den Rest der Lösung gekommen.
Einfach in der Reihenfolge-Frage die Variablen {Q1_1}, {Q1_2}, usw. verwenden.
Vielen Dank nochmals für deine Hilfe!
Gruß
vielen Dank für deine Antwort, ich habe es gerade nachgebaut und auf jedenfall etwas neues dabei gelernt.
Es ist allerdings nicht genau das, was ich meinte. In deinem Beispiel , wenn ich es richtig verstanden habe, ist:
Frage 1: Multiple Choice Mehrfachantwort
1. Eis1
2. Eis2
3. Eis3
usw.
Frage 2: Reihenfolge
1. Eis1
2. Eis2
3. Eis3
usw. (gleiche Antworten wie bei Frage 1 und gleich Codierung)
Durch den Matrixfilter werden dann bei der Reihenfolge-Frage nur die Möglichkeiten angezeigt, wo die Checkbox angeklickt ist, der Rest ist je nach Einstellung entweder versteckt oder deaktiviert. Ist ein sehr cooles Feature, dass (da ich jetzt weiß wie^^) bestimmt auch mal anwenden werde. Allerdings müssen die Namen in Frage 1 fest vorgegeben werden.
Es besteht bei mir das Problem, dass ich nicht alle 5 Eissorten fest vorgeben möchte, sondern diese erst in einer "Freitext Mehrfachfrage" benennen möchte, um sie anschließend in ein Ranking zu bringen.
(Spricht: Die Namen sollen eingetippt werden (z.B. ein exotisches Curry-Wurst-Eis, auf das die wenigsten vermutlich vorher kommen) und die Eissorten sollen dann in der Reihenfolge-Frage in den Balken auftauchen)
Während ich diese Antwort geschrieben habe, bin ich allerdings dann auch auf den Rest der Lösung gekommen.
Einfach in der Reihenfolge-Frage die Variablen {Q1_1}, {Q1_2}, usw. verwenden.
Vielen Dank nochmals für deine Hilfe!
Gruß
The topic has been locked.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12921
- Thank you received: 3977
3 years 5 months ago #208317
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Antworten in Reihenfolge bringen bzw. "Mehrfach kurze Texte" mit "Reihenfolge"
Sorry,
das liegt natürlich am hypothesenbildenden Lesen.
Ich habe es einfach nicht gesehen.
Genau so geht es.
Wobei Du trotzdem an Matrixfilter lassen solltest.
Wenn Du ansonsten beide Fragen auf einer Seite darstellst, sieht das Ranking zunächst so aus.
Das ist einfach unschön.
Und ich kann mir nicht vorstellen, dass Du die Leute zwingen willst, sich 5 Eissorten aus den Fingern zu saugen, wenn sie nur 4 kennen.
Und dann wäre - wenn Du schon coole Features möchtest - eine dieser Optionen ganz nett.
1. Simpel
(das nächste Eingabefeld wird erst dann angezeigt, wenn das vorherige gefüllt ist - vermeidet auch Eingaben in das erste, dritte und fünfte Feld, Rest leer)
Dazu einfach in die Teilfragenrelevanz des zweiten Feldes !is_empty(Q1_1), des dritten Feldes !is_empty(Q1_2) - klar, nur dann zeigen, wenn das vorherige Feld nicht leer ist.
2. Mit etwas mehr spielerischem Anreiz
Dafür ist dann ein kleines javascript snippt nötig.
das liegt natürlich am hypothesenbildenden Lesen.
Ich habe es einfach nicht gesehen.
Genau so geht es.
Wobei Du trotzdem an Matrixfilter lassen solltest.
Wenn Du ansonsten beide Fragen auf einer Seite darstellst, sieht das Ranking zunächst so aus.
Das ist einfach unschön.
Und ich kann mir nicht vorstellen, dass Du die Leute zwingen willst, sich 5 Eissorten aus den Fingern zu saugen, wenn sie nur 4 kennen.
Und dann wäre - wenn Du schon coole Features möchtest - eine dieser Optionen ganz nett.
1. Simpel
(das nächste Eingabefeld wird erst dann angezeigt, wenn das vorherige gefüllt ist - vermeidet auch Eingaben in das erste, dritte und fünfte Feld, Rest leer)
Dazu einfach in die Teilfragenrelevanz des zweiten Feldes !is_empty(Q1_1), des dritten Feldes !is_empty(Q1_2) - klar, nur dann zeigen, wenn das vorherige Feld nicht leer ist.
2. Mit etwas mehr spielerischem Anreiz
Dafür ist dann ein kleines javascript snippt nötig.
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Heloo
The topic has been locked.
- Heloo
- Topic Author
- Offline
- New Member
Less
More
- Posts: 15
- Thank you received: 0
3 years 5 months ago #208320
by Heloo
Die Option "1-Simpel" habe ich eingebaut, da es sich bei der späteren Umfrage nicht um Eissorten handelt und vermutlich bis zu 10 Antworten möglich sein werden, macht diese Funktion die Freitextfrage zum Einstieg doch deutlich kompakter und schöner.
Wenn du mir das Java-Script-Snippet zur Verfügung stellen möchstest, dann würde ich es mal versuchen.
Danke und Gruß
Replied by Heloo on topic Antworten in Reihenfolge bringen bzw. "Mehrfach kurze Texte" mit "Reihenfolge"
Immer her damitJoffm wrote: Und dann wäre - wenn Du schon coole Features möchtest - eine dieser Optionen ganz nett.
Die Option "1-Simpel" habe ich eingebaut, da es sich bei der späteren Umfrage nicht um Eissorten handelt und vermutlich bis zu 10 Antworten möglich sein werden, macht diese Funktion die Freitextfrage zum Einstieg doch deutlich kompakter und schöner.
Wenn du mir das Java-Script-Snippet zur Verfügung stellen möchstest, dann würde ich es mal versuchen.
Danke und Gruß
The topic has been locked.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12921
- Thank you received: 3977
3 years 5 months ago #208321
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Antworten in Reihenfolge bringen bzw. "Mehrfach kurze Texte" mit "Reihenfolge"
Na, dann spiel mal damit.
In "Style the elements" kannst Du ja beliebig rummauscheln.
Mit den allerbesten Grüßen
Joffm
Code:
<script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:complete',function() { // A function to add or remove rows of a multiple-short-text question function varLengthArray(qID) { // The HTML content of the Add/Remove elements - modify as you wish var addContent = '[+] Weitere Sorte'; var removeContent = '[-] Lösche Sorte'; // Insert the buttons $('#question'+qID+' .subquestion-list').append('<div id="addButton'+qID+'" class="control-button btn btn-primary">'+addContent+'</div><div id="removeButton'+qID+'" class="control-button btn btn-primary">'+removeContent+'</div>'); // Style the elements - you can modify here if you wish $('#question'+qID+' .control-button').css({ 'margin':'10px 0 0 10px', 'padding':'1px', 'text-align':'center', 'width':'auto', 'cursor':'pointer', 'float':'left', 'margin-bottom':'10px' }); // Initially hide the Remove element $( 'div#removeButton'+qID ).hide(); // Call the functions below when clicked $( 'div#addButton'+qID ).click(function (event) { addRow(qID); }); $( 'div#removeButton'+qID ).click(function (event) { removeRow(qID); }); // Function to add a row, also shows the Remove element and hides the function addRow(qID) { $('#question'+qID+' .answer-item:hidden:first').show(); $('div#removeButton'+qID).show(); if ($('#question'+qID+' .answer-item:visible').length == $('#question'+qID+' .answer-item').length) { $('div#addButton'+qID).hide(); } } // Function to remove a row and clear the input value function removeRow(qID) { $('#question'+qID+' .answer-item:visible:last').hide(); $('#question'+qID+' .answer-item:hidden input[type="text"]').each(function(i) { $(this).val('').trigger('keyup'); }); $( 'div#addButton'+qID ).show(); if ($('#question'+qID+' .answer-item:visible').length == 1) { $('div#removeButton'+qID).hide(); } } // Just some initialization stuff // Initially hide all except first row or any rows with populated inputs $('#question'+qID+' .answer-item input[type="text"]:not(:first)').each(function(i) { if($.trim($(this).val()) == '') { $(this).closest('.answer-item').hide(); } if ($('#question'+qID+' .answer-item:visible').length > 1) { // $('div#removeButton'+qID).show(); } }); } // Call the function with a question ID varLengthArray({QID}); }); </script>
In "Style the elements" kannst Du ja beliebig rummauscheln.
Mit den allerbesten Grüßen
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm