0 votes
in SoSci Survey (dt.) by s181531 (200 points)
edited by SoSci Survey

Hallo,
ich würde gerne bei zwei Fragen jeweils einen Schieberegler verwenden, der im Wertebereich zwischen 0-60 Stunden (ganze Zahlen) liegt.
Ich habe unter den Einstellungen des Schiebereglers die Differenzierung von 1-60 gewählt und anschließend folgenden HTML-Code auf der Seite des Fragebogens eingefügt, auf der sich beide Fragen befinden:

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

Problem dabei ist, dass die Angabe von „0 Stunden“ als „nicht beantwortet“ gewertet wird und der Regler nach Bewegung auch nicht auf 0 gestellt werden kann sondern 1 das Minimum ist. Alternative Lösungen mit „if (value < -1)“, eine Erweiterung auf 61 oder je ein HTML-Code nach jeder Frage habe ich bereits versucht, leider ohne Erfolg.
Ich freue mich über Tipps!

Danke und viele Grüße

1 Answer

+1 vote
by SoSci Survey (302k points)

Problem dabei ist, dass die Angabe von „0 Stunden“ als „nicht beantwortet“ gewertet wird

Bitte ändern Sie folgendes:

1) Geben Sie als Differenzierung 1-61 an, nur so kommen Sie sauber auf den Wertebereich 0-60.

2) Die Angabe von 0 Stunden dürfte in Ihrer Lösung aktuell gar nicht möglich sei. Falls doch, haben Sie evtl. eine Position für "keine Antwort" in der Frage definiert. Entfernen Sie diese bitte ggf.

3) Rechnen Sie minus 1:

return String(Math.round(value) - 1) + " h";
by s181531 (200 points)
Danke für die Antwort!
Die Angabe von "0 Stunden" ist mit dieser Lösung möglich. Durch die Rechnung -1 entsteht im Datensatz nun aber das Problem, dass eine Angabe von 0 Stunden zu einem Wert von 1 Stunde in den erhobenen Daten führt, bei Angabe 1h zu dem Wert 2, ..., bei 60h zu 61.
Gibt es eine Lösung, dass der Wert exakt so, wie er im Regler vom Befragten angegeben wird im Datensatz gespeichert wird?

Danke und viele Grüße
by SoSci Survey (302k points)
Das ist kein Problem per se, das ist einfach eine andere Kodierung.

Aber wenn Ihnen daran gelegen ist, das bereits im Datensatz "korrekt" zu kodieren, können Sie einfach mit put arbeiten:

put('IV01_01', value('XY01_01') - 1);

Der Befehl muss auf die folgende Seite, die interne Variable zum Umkodieren müssen Sie vorab noch im Fragenkatalog anlegen.

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

...