0 votes
ago in SoSci Survey (dt.) by s264971 (110 points)
edited ago by s264971

Hallo,

Ich möchte in meiner Studie einen von zwei Schiebereglern auf der Skala fixieren, auf einen zufälligen Wert zwischen 75 und 85. Der Slider der nicht fixiert ist soll durch „klicken“ bewegt werden können und nicht nur durch „ziehen“. Den ersten Schieberegler zu fixieren funktioniert mit folgendem Code:

<script type="text/javascript">
SoSciTools.attachEvent(window, "load", function() {
  var randomValue = Math.floor(Math.random() * 11) + 76;
  var slider = SoSciTools.questionnaire.EA02.getSlider("EA02_01");
  if (slider) {
    slider.fixValue(randomValue);
  }
});
</script>

Dann kann der zweite (nicht fixierte) Slider, aber nur durch „ziehen“ und nicht durch „klicken“ bedient werden. Wenn ich keinen Wert fixiere, kann man den ersten Slider durch „klicken“ bewegen und den zweiten Slider nur durch „ziehen“. Meine Frage ist: Gibt es eine Möglichkeit den zweiten Slider zu fixieren, damit der erste durch „klicken“ bedient werden kann? Oder gibt es eine Möglichkeit den zweiten Slider so einzustellen, dass er durch „klicken" bedient werden kann?

In dem beschriebenen Code reicht es nicht EA02_01 (erster Slider) durch EA02_01a (zweiter Slider) zu ersetzten, um den zweiten Slider zu fixieren.

ago by SoSci Survey (344k points)
Also, eigentlich sollten alle Regler einer Schieberegler-Frage sowohl durch Klicken als auch durch Ziehen bedienbar sein. Wenn das bei Ihnen nicht der Fall ist, erstellen und posten Sie bitte einen Pretest-Link direkt zur betroffenen Fragebogen-Seite. Dann sehe ich mir das einmal genauer an. Verraten Sie bitte auch, welchen Browser Sie verwenden.
ago by s264971 (110 points)
Also man kann den Slider erst du klicken bedienen, nachdem man ihn einmal angeklickt oder gezogen hat. Wenn Sie aber z.B. eine Frage weiter gehen, wo es nur einen Slider gibt, dann kann man direkt auf die Skala klicken und der Slider bewegt sich (ohne, dass man ihn vorher anklicken/ ziehen muss).
ago by SoSci Survey (344k points)
Danke, damit wird es deutlich klarer. Ich hatte es bisher so verstanden, es würde um zwei getrennte Schieberegler handeln. Sie verwenden zwei Regler auf einem Schieberegler.

Ich habe den Regler in Ihrem Debug-Link nun unter Windows mit Firefox und Safari getestet, und dort ist er problemlos sowohl durch Klicken als auch durch Ziehen regelbar.

Verwenden Sie zur Eingabe eine Maus oder ein Touch-Display?
ago by s264971 (110 points)
Bei mir geht es sowohl mit Maus, als auch mit Touch-Display nicht. Ich hatte auch beim Pretest die Rückmeldung bekommen, dass bei den Fragen mit zwei Reglern auf einer Skala, der Regler sich nicht sofort durch klicken bedienen lässt. Man muss ihn erstmal anklicken und kann nicht sofort auf die Skala klicken. Wenn es aber nur einen Regler auf der Skala gibt kann man direkt auf die Skala klicken und der Regler bewegt sich dorthin. Wenn ich keinen Regler fixiere (bei den Aufgaben mit zwei Reglern auf einer Skala) und auf die Skala klicke (ohne eine Regler vorher anzuklicken), dann wird der erste Regler angesteuert.
ago by SoSci Survey (344k points)
> Man muss ihn erstmal anklicken und kann nicht sofort auf die Skala klicken.

Ah, in Ordnung, das war die Information, die mir zum Replizieren des Problems noch gefehlt hatte. Dieses Verhalten kommt daher, dass der Schieberegler nicht weiß, welchen der beiden Regler Sie bedienen möchten, und deshalb den "näheren" anspricht.

Nachdem einer der Regler bei Ihnen nicht zum Regeln ist, ist dieses Verhalten natürlich nicht besonders sinnvoll. Das sollten wir zeitnah lösen können. Ich melde mich, wenn das behoben ist (im Idealfall noch heute, es könnte aber auch morgen werden).
ago by s264971 (110 points)
Vielen Dank für Ihre Hilfe!

1 Answer

0 votes
ago by SoSci Survey (344k points)

So, ich habe nun zwei Antworten für Sie:

1) Wenn einer der Reglerknöpfe mittels fixValue() deaktiviert wurde, dann steuert ein Klick auf die Skala nun automatisch den anderen Knopf.

2) Um den zweiten Reglerknopf statt dem ersten zu fixieren, würden Sie einfach noch dessen Index (1, weil die Zählung bei 0 beginnt) im Befehl angeben:

slider.fixValue(randomValue, 1);

Und dann noch ein wichtiger Hinweis.

Ihr Code speichert den zufällig gewürfelten Wert nicht (!) im Datensatz.

Ich würde Ihnen dringend empfehlen, dass Sie den Zufallswert mittels PHP-Code auswürfeln, z.B. über die random() Funktion. Speichern Sie diesen Wert dann mittels put() im Datensatz und verwenden Sie einen Platzhalter, um den Wert an den JavaScript-Code zu übergeben.

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

...