Eine Zuordnungsaufgabe zeigt dieselben Auswahloptionen für unterschiedliche Stimuli an. Vor dem ersten Stimulus wird ein Erklärungstext angezeigt, durch Auswahl einer der Optionen startet die Zuordnungsaufgabe. Durch die Verwendung von JavaScript fallen Ladezeiten zwischen den einzelnen Stimuli weg – dies ist für eine akkurate Messung der Reaktionszeiten notwendig. Für die Auswahloptionen kann man auch Grafiken verwenden (z.B. Daumen hoch/runter, Smilie, etc.).
Die Auswahl erfolgt mittels Klick oder – speziell für eine akkurate Messung der Reaktionszeit interessant – durch Tastendruck.
Während die Frage bearbeitet wird, ist der Weiter-Knopf ausgeblendet. Nach Zuordnung des letzten Stimulus wird – je nach Einstellung in der Frage – der Weiter-Knopf angezeigt oder automatisch zur nächsten Seite gewechselt.
Die gültigen Auswahltasten unterscheiden sich je nach Anzahl der Auswahloptionen:
Die unterschiedlichen Stimuli werden auf derselben Fragebogen-Seite geladen und mittels JavaScript nacheinander angezeigt. Klassische Filter mittels PHP-Code sind daher nicht möglich – die Antworten werden erst nach Abschluss der Frage an den Server übermittelt.
Dennoch biete die Frage eine Möglichkeit zur Filterführung. Hierfür wird eine JavaScript-Funktion definiert. Nach Anmeldung dieser Funktion in der Frage mittels setCallbackSelect()
wird sie bei jeder Zuordnung (Auswahl) aufgerufen. Die Funktion bekommt jeweils mitgeteilt, welches Item gerade zugeordnet wurde und welche Option ausgewählt wurde. Je nachdem, was die Funktion antwortet, wird die Antwort ignoriert, springt die Frage zu einem anderen Stimulus oder wird die Frage beendet.
Die Callback-Funktion kann folgende Zahlenwerte zurückgeben:
Folgender JavaScript-Code kann als Textbaustein gespeichert werden. Den Textbaustein zieht man unter der Frage in den Fragebogen. Die enthaltene Funktion selFilter()
sorgt für folgende Filterung:
<script src="../script/oFbGeneral.js" type="text/javascript"></script> <script type="text/javascript"> <!-- // Filterfunktion function selFilter(item, option) { // Der erste Filter reagiert, wenn bei Item 1 die Option 1 ausgewählt wurde if ((item == 1) && (option == 1)) { // Weiter mit Item Nr. 3 return 3; } // Der zweite Filter soll erst ab Item Nr. 3 reagieren if (item >= 3) { // Wird die zweite Option angeklickt, ist die Frage zu Ende if (option == 2) { // Ende return -1; } } } // Die Zuordnungsaufgabe wird erst aktiviert, wenn die Seite vollständig geladen ist. // Daher muss man attachEvent() verwenden, um die Callback-Funktion erst nach Abschluss // des Ladevorgangs zuzuweisen. // // Wichtig: Statt assignmentAB01 muss hier "assignment" plus die Kennung der Frage verwendet werden oFbGeneral.attachEvent(window, "load", function() { assignmentAB01.setCallbackSelect(selFilter); }); // --> </script>