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

0 votes

Hallo,

in meiner Umfrage sollen die Probanden über einen Schieberegler einen Geldbetrag zwischen 0 € und 10000 € einstellen (z.B. 5000 €). Auf der nächsten Seite soll dann über einen weiteren Schieberegler wiederum ein Betrag aus diesen 5000 € eingestellt werden.

Ich möchte nun gerne den ausgegebenen Wert aus Seite 1 als Beschriftung Maximum des Reglers auf Seite 2 verwenden. Ist dies möglich?

Vielen Dank und beste Grüße
Alex

in SoSci Survey (dt.) by s082614 (110 points)

1 Answer

0 votes

Die Werte, die der Schieberegler intern speichert (z.B. 1..101) sind nicht variabel.

Aber was über dem Regler angezeigt wird (wenn der aktuelle Wert angezeigt werden soll), das legen Sie ja mit einem kleines Schnipsel JavaScript-Code fest. Und darin können Sie selbstverständlich auch Platzhalter verwenden, um dynamisch auf die vorherigen Angaben des Teilnehmers zu reagieren.

Auch die Beschriftung des Maximums kann mit Platzhaltern umgehen. Wenn es also nur darum geht, ist es sogar noch einfacher. Denken Sie nur dran, dass Sie die Umrechnung des internen Werts (eine banale lineare Transformation) in Abhängigkeit der letzten Antwort erledigen müssen.

by SoSci Survey (73.1k points)
Vielen Dank für die Antwort,
an die Platzhalter hatte ich gar nicht gedacht. Damit geht das ja gut.

Jetzt habe ich nur noch folgendes Problem. Ich lass mir die aktuellen Werte in Euro am Regler anzeigen über:

<script type="text/javascript">
<!--
formatter = function(value, reversed) {
  if (value < 0) return "";
  return String(Math.round((value-1)) * 100) + " €";
}
SoSciSliders.setFormat(formatter);
// -->
</script>

Bei der ersten Frage mit den fixen 10.000 € ist das ja kein Problem. (Ich habe als Wertebereich 1-101 eingestellt und lasse den Betrag in 100er Schritten anzeigen)

Jetzt möchte ich jedoch beim zweiten Regler die Anzeige entsprechend anpassen. Bei z.B. 3000 € müsste es also heißen:

return String(Math.round((value-1)) * 30) + " €";

Den Wert mit dem multipliziert werden muss ist ja wiederum abhängig vom ausgegeben Wert aus Frage 1. Allerdings weiß ich nicht, wie ich diesen Wert dann variabel in den javascript code einbinden kann.
Für die variable Einbindung in normale Textfelder verwende ich einen PHP-Code, welcher den angegebenen Werten eine Variable zuweist. Diese kann ich ja aber nicht im HTML bzw javascript-code verwenden.
Muss ich hierfür eine interne Variable einsetzen und im javascript code darauf zugreifen? Oder gibt es auch einen anderen Weg?
Ich habe es jetzt hinbekommen mit einer internen Variable auf der Seite des zweiten Reglers, welche den Wert des ersten Reglers über die put() funktion aufnimmt. Die interne Variable konnte ich dann mit

betrag = document.getElementById("int.Var._01").value

im javascript einbinden.
Noch einfacher wäre es, wenn Sie auch hier einen Platzhalter verwenden:

return String(Math.round((value-1)) * %factor%) + " €";
...