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

Ich benutze ein Inhaltsverzeichnis über die function navigation(); Beispiel:

function navigation() {
    
    // Completion check
        $cPreparations = (count(array_merge(
        checkItem('A002', 'A002_01'),
        checkItem('A003', 'A003_01'),
        checkQst('A004', [1,2]),
        checkItem('A006', 'A006_01'),
        checkItem('A008', 'A008_01'),
   )) === 0	);

Eine Frage dazu- gibt es eine Möglichkeit, dass Fragen, welche nicht vorgelegt werden weil sie durch eine bestimmte Filterbedingung ausgeblendet werden (goToPage();) nicht in den Completion Check mitgenommen werden, obwohl sie dort eingetragen wurden?

1 Answer

0 votes
ago by SoSci Survey (380k points)

Bitte wenden Sie den Filter, welcher die Frage ausblendet, auch im Completion Check an.

Das kann z.B. so aussehen:

$cPreparations = array_merge(
    checkItem('A002', 'A002_01'),
    checkItem('A003', 'A003_01')
);

if (value('AB01') == 3) {
    $cPreparations = array_merge(
        $cPreparations,
        checkQst('A004', [1,2])
    );

$cPreparations = array_merge(
    $cPreparations,
    checkItem('A006', 'A006_01'),
    checkItem('A008', 'A008_01'),
);

Hier würde der Check von A004 nur mit aufgenommen, wenn AB01 den Antwortcode 3 hat. Beachten Sie bitte, dass $cPreparations hier das Array ist und nicht mehr die Zählung wie in Ihtem Code oben.

Wenn Sie ein Freund von Code-Golf sind (gleiches Ergebnis mit möglichst wenig Code-Zeilen), dann können Sie es auch wie folgt verkürzt schreiben. SoSci Survey wird einige Warnungen im Fragebogen zusammenstellen zeigen, weil die Code-Prüfung mit der ?:-Schreibweise nicht umgehen kann, die Sie aber ignorieren können:

$cPreparations = (count(array_merge(
    checkItem('A002', 'A002_01'),
    checkItem('A003', 'A003_01'),
    ((value('AB01') == 3) ? checkQst('A004', [1,2]) : []),
    checkItem('A006', 'A006_01'),
    checkItem('A008', 'A008_01'),
))

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

Categories

...