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,

gerne würde ich einen Schieberegler in einer Frage einbauen.
Hierbei sollen die Versuchspersonen einen Wert zwischen 0 und 40h auswählen, wobei auch halbe Stunden berücksichtigt werden sollen (z.b. 3,5 h). Gerne würde ich daher, den entsprechenden Wert über dem Regler anzeigen lassen, der auch so als Wert des Items in den Daten widergespiegelt werden soll.

Was müsste ich hierfür denn an dem unten angegebenen Code ändern? Und welchen Wert würde man für die Differenzierung nutzen?

Herzlichen Dank bereits im Voraus!

formatter = function(value, reversed) {
  if (value < 0) return "";
  var percent = Math.round((value - 1)*0.5 /40) .toFixed(1) + " h";
}
SoSciSliders.setFormat(formatter);
// -->
in SoSci Survey (dt.) by s123772 (110 points)
edited by SoSci Survey

2 Answers

0 votes

0 bis 40 Stunden sind 41 + 40 = 81 mögliche Ausprägungen, wenn nur halbe und ganze Stunden möglich sein sollen. Sie sollten demnach die Differenzierung in der Frage erstmal auf 81 einstellen.

Und dann lassen Sie in Ihrem Code einfach die Division durch 40 weg:

Math.round((value - 1) * 0.5).toFixed(1) + " h";
by SoSci Survey (81.7k points)
Vielen Dank, ich habe nun den Code und die Differenzierung entsprechend angepasst. Allerdings wird mir dennoch ein "undefined" über dem Regler angezeigt, obwohl eigentlich festgelegt ist, dass der Wert über dem Regler angezeigt werden soll. Muss ich hier noch etwas an der Einstellung verändern?
Ich habe in einer weiteren Antwort nochmal den kompletten Code ergänzt. Ihrer Funktion fehlte noch ein return.

Falls es um Arbeitszeiten geht, denken Sie bitte daran, dass z.B. im öffentlichen Dienst auch krumme Zeiten (40,1 Stunden) üblich sind.
0 votes

Der vollständige Code lautet

<script type="text/javascript">
<!--

formatter = function(value, reversed) {
  if (value < 0) return "";
  return (Math.round(value - 1)*0.5).toFixed(1) + " h";
}
SoSciSliders.setFormat(formatter);

// -->
</script>
by SoSci Survey (81.7k points)
edited by SoSci Survey
Herzlichen Dank für die Hilfe!
Gibt es eine Erklärung warum mir dennoch keine 0,5er Schritte (z.b. 5,5) angezeigt werden sondern nur ganze "Springe" (von 5,0 auf 6,0)?
Ja, die Klammer war noch falsch gesetzt, so dass nach der Multiplikation mit 0,5 gerundet wurde. Es muss natürlich erst gerundet und dann halbiert werden. Ich habe den Code oben entsprechend angepasst.
...