0 votes
in SoSci Survey (dt.) by s272152 (180 points)
closed by SoSci Survey

Ich möchte gerne, dass einige Antwortoptionen in meiner Mehrfachauswahl zwei neue Fragen hervorrufen, auch wenn eine Kombination mit einer Antwortmöglichkeit gewählt wurde, die nicht zu den zwei Fragen führen würde. https://www.soscisurvey.de/test397003/?act=oG4yzfA0WjAuno5OmhHuNTyX

Derzeit sieht mein JavaScript so aus:

<script type="text/javascript">
// <!--
function DynamicFilter(auswahlIDT603, frageIDT605, frageIDT606) {
    this.option1 = document.getElementById(auswahlIDT603 + "_01");
    this.option2 = document.getElementById(auswahlIDT603 + "_02");
    this.option3 = document.getElementById(auswahlIDT603 + "_03");
    this.option4 = document.getElementById(auswahlIDT603 + "_04");
    this.option8 = document.getElementById(auswahlIDT603 + "_08");
    this.option9 = document.getElementById(auswahlIDT603 + "_09");
    this.option10 = document.getElementById(auswahlIDT603 + "_10");
    this.option11 = document.getElementById(auswahlIDT603 + "_11");
    this.option12 = document.getElementById(auswahlIDT603 + "_12");
    this.option13 = document.getElementById(auswahlIDT603 + "_13");
    this.option14 = document.getElementById(auswahlIDT603 + "_14");
    this.option15 = document.getElementById(auswahlIDT603 + "_15");
    this.option16 = document.getElementById(auswahlIDT603 + "_16");
    this.frageT605 = document.getElementById(frageIDT605 + "_qst");
    this.frageT606 = document.getElementById(frageIDT606 + "_qst");

    var that = this;

    this.toggle = function() {
        if (that.option1.checked || that.option2.checked || that.option3.checked || that.option4.checked ||
            that.option8.checked || that.option9.checked || that.option10.checked || that.option11.checked ||
            that.option12.checked || that.option13.checked || that.option14.checked || that.option15.checked ||
            that.option16.checked) {
            that.frageT605.style.display = "none";
            that.frageT606.style.display = "none";
        } else {
            that.frageT605.style.display = "";
            that.frageT606.style.display = "";
        }
    }

    SoSciTools.attachEvent(this.option1, "click", this.toggle);
    SoSciTools.attachEvent(this.option2, "click", this.toggle);
    SoSciTools.attachEvent(this.option3, "click", this.toggle);
    SoSciTools.attachEvent(this.option4, "click", this.toggle);
    SoSciTools.attachEvent(this.option8, "click", this.toggle);
    SoSciTools.attachEvent(this.option9, "click", this.toggle);
    SoSciTools.attachEvent(this.option10, "click", this.toggle);
    SoSciTools.attachEvent(this.option11, "click", this.toggle);
    SoSciTools.attachEvent(this.option12, "click", this.toggle);
    SoSciTools.attachEvent(this.option13, "click", this.toggle);
    SoSciTools.attachEvent(this.option14, "click", this.toggle);
    SoSciTools.attachEvent(this.option15, "click", this.toggle);
    SoSciTools.attachEvent(this.option16, "click", this.toggle);

    this.toggle();
}

new DynamicFilter("T603", "T605", "T606");
// -->
</script>
closed with the note: Problem gelöst - siehe Kommentare
by SoSci Survey (304k points)
Bitte posten Sie einen Pretest-Link direkt (!) zur betroffenen Seite, danke.
by SoSci Survey (304k points)
Der Code scheint korrekt zu funktionieren. Sobald ich z.B. "Mir wurden wohnortnahe Psychotherapeuten vorgeschlagen" anklicke, werden die Fragen 6.3 und 6.4 ausgeblendet.

Was hätten Sie denn gerne anders?
by s272152 (180 points)
Wenn ich eine andere Antwort zuerst anwähle und dann dazu eine der aktivierenden Antworten, kommt die Frage T605 einfach nicht. Also es ist nicht das ausblenden, sondern das einblenden.
by SoSci Survey (304k points)
Das dürfte daran liegen, dass sich Ihr Code quasi nur ums Ausblenden kümmert. Ihre Bedingung prüft, ob (mindestens) eine der definierten Optionen ausgewählt wurde - und wenn das der Fall ist, wird ausgeblendet

that.frageT605.style.display = "none";

Wenn es Ihnen also darum geht, dass Sie eigentlich bei der Auswahl von Optionen einblenden möchten, dann müssten Sie die Logik genau umdrehen.
by s272152 (180 points)
Alles klar, vielen Dank. So klappt es nun.

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

...