0 votes
in FAQs by s120822 (120 points)

Ich habe eine Frage, bei der die Teilnehmenden anhand von 2 Schiebereglern (beide 0 bis 100%) angeben sollen, wieviel Prozent ihres Fleischkonsums jeweils rotem und weißem Fleisch entspricht. Die beiden Regler zusammen sollen 100% ergeben. Nun möchte ich gerne, dass sich der zweite Schieberegler entsprechend automatisch in Echtzeit anpasst, wenn der erste Schieberegler eingestellt wird (z.B. dass bei 80% beim Schieberegler 1 der zweite auf 20% springt).

Dieser Code von ChatGPT liefert aktuell leider nicht das gewünschte Echtzeitergebnis:

// Schieberegler-Elemente abrufen
var SD08_01 = document.getElementById("SD08_01");
var SD08_02 = document.getElementById("SD08_02");

// Event-Listener hinzufügen, um Änderungen an SD08_01 in Echtzeit zu überwachen
SD08_01.addEventListener("input", function () {

var value1 = parseInt(SD08_01.value);
var value2 = 100 - value1;

// Setzen Sie den Wert von SD08_02 in Echtzeit
SD08_02.value = value2;

});

// Event-Listener für SD08_02 hinzufügen, um Änderungen in Echtzeit zu überwachen
SD08_02.addEventListener("input", function () {

var value2 = parseInt(SD08_02.value);
var value1 = 100 - value2;

// Setzen Sie den Wert von SD08_01 in Echtzeit
SD08_01.value = value1;

});

// Initialisieren Sie die Schieberegler
SD08_01.value = 50; // Hier können Sie den initialen Wert für SD08_01 festlegen
SD08_02.value = 50; // Hier können Sie den initialen Wert für SD08_02 festlegen

Vielleicht haben Sie einen Tipp, wie ich den Code anpassen kann?

1 Answer

0 votes
by SoSci Survey (327k points)

Bitte stellen Sie in der Schieberegler-Frage einfach eine konstante Summe von 100 (+2) ein. Dann kümmert sich SoSci Survey um das JavaScript :)

by s120822 (120 points)
So hatte ich es ursprünglich eingestellt, aber das hat nicht den gewünschten Effekt erzielt. Ich hätte es wenn möglich gerne so, dass sich der zweite Regler automatisch in Echtzeit bewegt und anpasst, wenn ich den ersten bewege. Nicht erst, wenn man auf den zweiten Regler klickt.
by SoSci Survey (327k points)
Genau das sollte eigentlich der Fall sein, wenn Sie eine fixe Summe einstellen.

Das funktioniert womöglich nicht, wenn Sie auf dem Schieberegler eine "weiß nicht" Position definiert haben. Nehmen Sie diese bitte ggf. heraus und wenn das nicht hilft setzen Sie beide Schieberegler initial auf 50%:

preset('SR01_01', 51);
preset('SR01_02', 51);
by s120822 (120 points)
Leider weiß ich nicht, woran ich erkenne, ob eine "weiß nicht" Position definiert ist. Eine Ausweichmöglichkeit dieser Art ist nicht eingestellt. Leider funktioniert es auch mit dem zur Verfügung gestellten Code nicht. Die beiden Regler sperren sich zwar gegenseitig mehr als 100 zu ergeben, aber es erfolgt keine automatische Verschiebung des zweiten Reglers.
by SoSci Survey (327k points)
Was genau haben Sie denn in der Schieberegler-Frage bei "Regler verknüpfen" -> "Verknüpfung aller Regler (Items)" ausgewählt?
by s120822 (120 points)
Das war das Problem, entschuldigen Sie bitte! Ich hatte dort "Begrenzung der Summe aus allen Reglern" eingestellt und später beim Anpassen gar nicht gesehen, dass es dort die Option "Konstante Summe (andere Regler automatisch bewegen)" gibt. Vielen Dank!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...