Beschränkung der Teilfragen in Matrix

More
1 month 1 day ago #170116 by Lizzzy
Lizzzy created the topic: Beschränkung der Teilfragen in Matrix
Liebe LimeSurvey-Community,

Ich habe ein Problem mit der Programmierung meiner Matrix-Fragen.
Befragte sollen hierbei aus drei Kulturlandschaften (A, B, C) einmal die von Ihnen am meisten präferierte (=beste Kulturlandschaft) und einmal jene, welche am wenigsten präferiert wird (=schlechteste Kulturlandschaft) auswählen (siehe Bild).
You do not have permissions to access this page.
You do not have permissions to access this page.


Die drei Kulturlandschaften = Antwortoptionen und die beste bzw. schlechteste Kulturlandschaft stellen Teilfragen dar.

Ich würde die Frageart "Matrix" nur gerne so programmieren, dass wenn z.B. Kulturlandschaft B als beste Kulturlandschaft gewählt wurde, die Kulturlandschaft B für die Wahl der schlechtesten Kulturlandschaft nicht mehr zu Auswahl steht, also nicht mehr angeklickt werden kann.

Kann man dies programmieren und falls ja wie?

Ihr würdet mir mit einer Antwort unglaublich helfen und ich wäre euch sehr dankbar!

Ganz liebe Grüße

Please Log in or Create an account to join the conversation.

More
1 month 1 day ago #170153 by holch
holch replied the topic: Beschränkung der Teilfragen in Matrix
Keine Bilder vorhanden.

I'm not a LimeSurvey GmbH member. I answer at the LimeSurvey forum in my spare time. No support via private message.
Some helpful links: Manual (EN) | Question Types | Workarounds
The following user(s) said Thank You: Lizzzy

Please Log in or Create an account to join the conversation.

More
1 month 1 day ago #170194 by Lizzzy
Lizzzy replied the topic: Beschränkung der Teilfragen in Matrix
Upps, das habe ich nicht gesehen.
Ich hoffe es hat jetzt geklappt - und danke für den Hinweis
Attachments:

Please Log in or Create an account to join the conversation.

More
1 month 1 day ago #170197 by holch
holch replied the topic: Beschränkung der Teilfragen in Matrix
Im Moment kannst du ja nur eine Antwort pro Zeile geben, du möchtest aber, dass man nur eine Antwort pro Spalte geben kann. Dazu müsstest du die Option Array (by column) verwenden.

I'm not a LimeSurvey GmbH member. I answer at the LimeSurvey forum in my spare time. No support via private message.
Some helpful links: Manual (EN) | Question Types | Workarounds
The following user(s) said Thank You: Lizzzy

Please Log in or Create an account to join the conversation.

More
4 weeks 1 day ago #170295 by Lizzzy
Lizzzy replied the topic: Beschränkung der Teilfragen in Matrix
Vielen lieben Dank für deine Rückmeldung.
Leider hat sich durch die Verwendung der Option Array (by column) mein Problem nur von der Zeile in die Spalte verschoben, denn es ist immer noch möglich die Kulturlandschaft B gleichzeitig als beste und als schlechteste Kulturlandschaft auszuwählen (siehe Bild). Mein Wunsch wäre es, dass z.B. Kulturlandschaft B für die Wahl der schlechtesten Kulturlandschaft nicht mehr zur Auswahl steht, wenn diese von den Befragten schon als beste Kulturlandschaft angegeben wurde.
Kann man also die Matrix irgendwie beschränken?

glg
Attachments:

Please Log in or Create an account to join the conversation.

More
3 weeks 2 days ago #170461 by Joffm
Joffm replied the topic: Beschränkung der Teilfragen in Matrix
Hallo, Lizzzy,
für die Version 2.50/2.73 gibt es so etwas.

Sage und also bitte - und das sollte immer geschehen - mit welcher LS Verion Du arbeitest.

Joffm


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

Please Log in or Create an account to join the conversation.

More
3 weeks 2 days ago #170480 by Lizzzy
Lizzzy replied the topic: Beschränkung der Teilfragen in Matrix
Lieber Joffm,

vielen Dank für deine Rückmeldung. Tut mir sehr leid, das habe ich ganz vergessen anzufügen.

Ich arbeite mit Version 2.73.0.
Mann, das wäre super wenn man dies beschränken könnte - bin dir für deine Hilfe sehr dankbar!

Glg Lizzzy

Please Log in or Create an account to join the conversation.

More
3 weeks 11 hours ago - 3 weeks 11 hours ago #170603 by Joffm
Joffm replied the topic: Beschränkung der Teilfragen in Matrix
Hallo,
guck Dir dies einmal an.

Ist - glaube ich - so ungefähr, was Du anstrebst.

Bin gerade noch im Urlaub; werde ich dann zuhause an Deinen screenshot anpassen.

Viel Erfolg
Joffm

File Attachment:

File Name: limesurvey...8878.lss
File Size:24 KB


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
Last Edit: 3 weeks 11 hours ago by Joffm.

Please Log in or Create an account to join the conversation.

More
2 weeks 3 days ago #170728 by Joffm
Joffm replied the topic: Beschränkung der Teilfragen in Matrix
Hallo,
hat etwas gedauert, aber hier ist die Anpassung an Deine Gegebenheiten.

Ich habe das script geändert:
<script type="text/javascript" charset="utf-8">
	$(document).ready(function() { 		
		// Call the exclusiveArrayRows function with question and sub-question IDs
		var sqIDs = ['SQ001', 'SQ002']
		exclusiveArrayRows2({QID}, sqIDs);
	});
 
 
	// A function to conditionally disable array answers
	// Parameters:
	//		1) The question ID
	//		2) An array of sub-question IDs to be exclusive
	function exclusiveArrayRows2(qID, sqIDs) {
		// Identify the question
		var thisQuestion = $('#question'+qID);
 
		// Loop through the sub-question IDs
		$(sqIDs).each(function(i, val) {
			// Assign a class
			$('tr.answers-list[id$="X'+qID+val+'"]', thisQuestion).addClass('conditional-row');
		});
 
		// Initial radio states
		$('.conditional-row input.radio:checked', thisQuestion).each(function(i) {
			// Call a function to handle the radios
			handleRadios($(this), $(this).val());
		});
 
		// Listener on the exclusive radios
		$('.conditional-row input.radio', thisQuestion).on('click', function(e) {
			// Call a function to handle the radios
			handleRadios($(this), $(this).val(), true);
		});
 
		// A function to disable/enable radios
		function handleRadios(checkedRadio, thisValue, onClick) {
			var thisRow = $(checkedRadio).closest('tr.answers-list');
			var otherRows = $('tr.answers-list.conditional-row', thisQuestion).not(thisRow);
 
			if(onClick !== undefined) {
				// Reset the other rows on click
				$('input.radio', otherRows).prop('disabled', false);
			}
 
 
				//Determine which radios to disable
				var disabledInputs = $('input.radio', otherRows).filter(function(e) {
						return $(this).val() ==thisValue;
					});
 
				// Disable the appropriate radios in the other rowss	
				$(disabledInputs).prop('checked', false).prop('disabled', true);
		}
	}
</script>

Es wird also in der "anderen" Zeile immer der Wert herausgenommen, welcher in der "einen" Zeile gewählt wurde.

Beispiel:

File Attachment:

File Name: limesurvey...7-04.lss
File Size:19 KB


Andererseits ist Deine Fragestellung im Grunde ja eine MaxDiff-Frage.
Dazu gibt es einen Workaround.
Hast Du ihn schon angeschaut?
Falls nicht, hier nachzulesen:
https://manual.limesurvey.org/Workarounds:_Question_design,_layout_and_templating#Version_2.5

Viel Erfolg
Joffm


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

Please Log in or Create an account to join the conversation.

More
3 days 2 hours ago #171457 by Lizzzy
Lizzzy replied the topic: Beschränkung der Teilfragen in Matrix
Lieber Joffm,

erstmals vielen lieben Dank für deine Rückmeldung und Bemühung. :)

Ich habe deine angehängten Umfragen getestet und kann leider immer noch z.B. Kulturlandschaft A gleichzeitig als besten und als schlechteste Kulturlandschaft auswählen.
Ich hätte aber gerne, dass wenn z.B. Kulturlandschaft A als beste Kulturlandschaft gewählt wurde, dass man diese für die Wahl der schlechtesten Kulturlandschaft nicht mehr auswählen kann, also dass man hier kein Kreuz mehr machen kann. Als schlechteste Kulturlandschaft sollten hierbei nur mehr Kulturlandschaft B oder C möglich sein anzukreuzen.

Weiterst wollte ich dich fragen, wo ich denn dieses "script" eingeben muss, damit es funktioniert - sorry bin leider ein LimeSurvey-Anfänger.

Du würdest mir mit Antworten unglaublich weiter helfen und ich wäre dir sehr sehr dankbar.

Ganz liebe Grüße Lizzzy

Please Log in or Create an account to join the conversation.

More
3 days 1 hour ago #171462 by Joffm
Joffm replied the topic: Beschränkung der Teilfragen in Matrix
Hallo, Lizzzy,
Du hast also die von mir angehängte Umfrage vom 4.7. importiert? Und nichts geändert?

Wie man scripte einfügt, steht im Handbuch:
https://manual.limesurvey.org/Workarounds:_Manipulating_a_survey_at_runtime_using_Javascript#How_to_use_Script_.28eg._JavaScript_etc..29_in_LimeSurvey

Hast Du überprüft, ob der XSS-Filter auf "OFF" steht?

Ich werde morgen einmal ein Video erstellen, um zu zeigen, dass es geht.

Bis dann
Joffm


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

Please Log in or Create an account to join the conversation.

More
3 days 46 minutes ago #171469 by Joffm
Joffm replied the topic: Beschränkung der Teilfragen in Matrix
Übrigens:
Die Frage, die eigentlich immer eine der ersten sein sollte:
Ist es eine Uni-Installation, in welcher Du nur user bist, und in den Rechten beschränkt bist?

Dann gibt es natürlich die "normale" Methode, Dein Ziel zu erreichen, nämlich mit "Fragen-Validierung" (findest Du unter "Logik":
So etwas wie: Q1_SQ001!=Q1_SQ002
Soll heißen: Die Antwort auf die erste Teilfrage muss ungleich der Antwort auf die zweite sein.
Im Tip kannst Du - solltest Du - das denn auch den Respondenten sagen.

Joffm


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

Please Log in or Create an account to join the conversation.

More
2 days 1 hour ago #171503 by Lizzzy
Lizzzy replied the topic: Beschränkung der Teilfragen in Matrix
Lieber Joffm,

ich glaube du weißt gar nicht wie dankbar ich dir für deine Hilfe bin - DANKE dafür.

Also ich habe eine Uni-Installation und bin daher mit meinen Rechten beschränkt (BOKU Survey).
Ich bin gerade beim Austesten der "Fragen Validierung" - aber ich bekomme es einfach nicht hin. Und es erscheint bei der Umfragenvorschau immer: "Eine oder mehrere Fragen sind nicht korrekt beantwortet worden. Sie können nicht fortfahren, bevor die Antworten nicht korrekt beantwortet sind." Ich habe eine meiner Fragen hier angehängt und bitte dich höflich, ob du mir die Eingabe des Codes anhand dieses Docs zeigen könntest. Du würdest mir damit sehr helfen!

Ganz liebe Grüße
Lizzzy
Attachments:

Please Log in or Create an account to join the conversation.

More
1 day 11 hours ago #171518 by Joffm
Joffm replied the topic: Beschränkung der Teilfragen in Matrix
Hallo, Lizzzy,

im Grunde ist es relativ simpel:
In das Feld "Frage-Validierungsgleichung" in den "Erweiterten Einstellungen" der Frage wird eingetragen, was gelten soll, damit die Frage als korrekt beantwortet gilt.
Da muss man manchmal ein bisschen nachdenken:

Du willst ja, dass die Antworten zu beiden Teilfragen unterschiedlich sind.
Im Handbuch findet man unter "Implementierte Funktionen"
https://manual.limesurvey.org/Expression_Manager#Implemented_Functions
die Funktion "unique" mit der Erklärung:
unique Returns true if all non-empty responses are unique boolean unique(arg1, ..., argN)

Das ist also genau das, was Du benötigst.
Und daher trägst Du in die Fragen-Validierungsgleichung ein:
unique(self)
Die Erklärung der Variablen "self" findest Du hier:
https://manual.limesurvey.org/Expression_Manager#The_reserved_.27this.27.2C_.27self.27.2C_and_.27that.27_variables

Bei falscher Beantwortung geht nun das Popup auf.
Um dies zu verhindern - und den Respondenten eine bessere Hilfestellung zu geben - trägst Du nun in das Feld "Frage-Validierungshinweis" Deine individuellen Texte ein, etwa so:
{if(unique(self),"Bitte, wählen Sie je eine Kulturlandschaft","Sie können nicht dieselbe Landschaft als beste UND als schlechteste auswählen")}
Erklärung zum if-Statement findest Du auch unter "Implementierte Funktionen".
Kurz gesagt:
if(Bedingung,Was passiert wenn Bedingung wahr,Was passiert wenn Bedingung falsch)

Bedeutet in unserem Fall also:
Wenn die Antworten noch leer, oder verschieden sind (Bedingung "unique" ist wahr), wird der erste Satz in der "guten" Farbe angezeigt.
Bei zwei gleichen Antworten (Bedingung "unique" ist falsch wird der zweite Satz in der "Fehlerfarbe" angezeigt.

Und hier fertig in der Beispielstudie:

File Attachment:

File Name: BeispielKu...offm.lss
File Size:18 KB


Viel Erfolg
Joffm


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

Please Log in or Create an account to join the conversation.

More
1 day 11 hours ago #171520 by Joffm
Joffm replied the topic: Beschränkung der Teilfragen in Matrix
Und noch ein paar screenshots:







Joffm


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

Please Log in or Create an account to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!