0 votes
ago in SoSci Survey (dt.) by s109993 (13.4k points)

Liebes Support Team,

ich habe eine etwas kompliziertere Frage. Ich entwerfe gerade einen sehr kurzen Fragebogen mit einer Multilevel-Down Struktur (multiLevelDown('repeat', $data); Dazu wird einer Lehrkraft eine Liste von Schülerinnen (IDs) vorgelegt, zu der jeweils dann eine Frage beantwortet werden soll. Das mach ich momentan nach der Reihenfolge, so dass die IDs nach der Reihe abgearbeitet werden können. Das funktioniert auch super. Jetzt kam die Ansage von dem Kunden, dass die IDs auch per Knopfdruck (also als Link) angesteuert werden sollen. Das heißt, man kann eine Frage einer ID wieder aufrufen und ggf. Dinge ändern und danach wieder abschließen- und natürlich, dass man die Liste dann nicht nach der Reihenfolge abbarbeiten muss. Ist das möglich- und wenn ja, mit welchem System/Funktion? Unten hab ich Ihnen ein paar Seiten von dem Main Fragebogen hin kopiert, damit Sie einen Eindruck bekommen, wie ich momentan arbeite.

Seite vor dem multiLevel (ohne CSS):

$key = caseSerial();
$preload = dbGet($key);

if ($preload !== false) {

    html('<ul class="preload-list">');

    $nummer = 1;

    foreach ($preload as $name) {

        if ($name !== null && trim((string)$name) !== '') {

            html('<li>' . htmlspecialchars($name));

            if ($nummer < $durchgang) {
                html('<span class="checkmark">&#10003;</span>');
            }

            if ($nummer == $durchgang) {
                html('<span class="current-marker">&#8592; aktuell</span>');
            }

            html('</li>');

            $nummer++;
        }
    }

    html('</ul>');
}

Seite des MultiLevel:

$key = caseSerial();
$preload = dbGet($key);
$aktuelleID = $preload[$durchgang - 1];

$variante = value('X002');

$data = array(
    'durchgang' => $durchgang,
    'variante' => $variante,
    'id' => $aktuelleID
); 

multiLevelDown('repeat', $data);

Seite nach Multilevel:

$key = caseSerial();
$preload = dbGet($key);

$maxDurchgaenge = 0;

if ($preload !== false) {
    foreach ($preload as $name) {
        if ($name !== null && trim((string)$name) !== '') {
            $maxDurchgaenge++;
        }
    }
}

$durchgang++;

if ($durchgang <= $maxDurchgaenge) {
    goToPage('zwischen');
}

Repeat Seite/Fragebogen:

$data= multiLevelData();

$durchgang = $data['durchgang'];
$variante = $data['variante'];
$id = $data['id'];

put('X001_01', $durchgang);
put('X001_02', $variante );
put('X003_01', $id);    

replace('%susid%', $id);

if (value('X001_02') == 1) {
question('A002', '1-8');
  text('SuS_ID');
} elseif (value('X001_02') == 2) {
question('A002', '1-4, 9-12');
  text('SuS_ID');
} elseif (value('X001_02') == 3) {
question('A002', '1-4, 5, 6, 9, 10');
  text('SuS_ID');
} elseif (value('X001_02') == 4) {
question('A002', '1-4, 7, 8, 11, 12');
  text('SuS_ID');
} elseif (value('X001_02') == 5) {
question('A002', '1-4, 5, 6, 11, 12');
  text('SuS_ID');
} elseif (value('X001_02') == 6) {
question('A002', '1-4, 7, 8, 9, 10');
  text('SuS_ID');
} elseif (value('X001_02') == 7) {
question('A002', '5-12');
  text('SuS_ID');
}

Bild von der ID-Liste als Beispiel:

1 Answer

0 votes
ago by SoSci Survey (379k points)

Jetzt kam die Ansage von dem Kunden, dass die IDs auch per Knopfdruck (also als Link) angesteuert werden sollen.

Dafür verwenden Sie am besten den Fragetyp Multilevel-Übersicht.

Sie können vor Anzeige der Frage eine Reihe von untergeordneten Fällen (einen pro Schüler:in) vorbereiten (das $durchgang++; inkl. der ganzen Schleife fällt dann weg), und die Frage zeigt eine Liste dieser Fälle zum Anklicken inkl. Bearbeitungsstatus.

ago by s109993 (13.4k points)
Gibt es eine Einstellung, dann man einen Unterfragebogen einer Liste mehrmals aufrufen kann- am besten, das man vorher gesetzte Kreuze noch sieht? Momentan verschwindet der Pfeil hinter einer ID, wenn die Frage dazu beantwortet wurde.
ago by SoSci Survey (379k points)
Wenn in der Multilevel-Übersicht (also in den Einstellungen der Frage) das Häkchen bei "Bearbeiten vorhandener Fälle" nicht entfernt wurde, sollte der Pfeil gegen ein Stift-und-Zettel-Symbol getauscht werden, sobald für einen untergeordneten Fall Daten eingegeben wurden.
ago by s109993 (13.4k points)
Das hat geklappt, danke!

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

...