Sehr geehrtes Support-Team,
ich arbeite derzeit an einer Umfrage und versuche, ein JavaScript-Skript zu implementieren, das bestimmte Fragen basierend auf den Antworten des Benutzers ein- und ausblendet. Leider funktioniert das Skript nicht wie erwartet, und ich würde mich über Ihre Unterstützung bei der Problemlösung freuen. Ich habe die Anleitung dazu "Fragen bei Auswahl einer bestimmten Option sofort
einblenden" schon gelesen und auf der Basis das Script erstellt.
Hier ist der Code, den ich verwende:
<script type="text/javascript">
// <!--
function DynamicFilter(auswahlIDT202, frageIDT203, frageIDT204) {
this.optionJa = document.getElementById(auswahlIDT202 + "_01a");
this.optionNein = document.getElementById(auswahlIDT202 + "_02a");
this.optionKeineAngabe = document.getElementById(auswahlIDT202 + "_03a");
this.frageT203 = document.getElementById(frageIDT203);
this.frageT204 = document.getElementById(frageIDT204);
var that = this;
this.toggle = function() {
if (that.optionJa.checked) {
that.frageT203.style.display = "";
that.frageT204.style.display = "";
} else if (that.optionNein.checked || that.optionKeineAngabe.checked) {
that.frageT203.style.display = "none";
that.frageT204.style.display = "none";
}
}
SoSciTools.attachEvent(this.optionJa, "click", this.toggle);
SoSciTools.attachEvent(this.optionNein, "click", this.toggle);
SoSciTools.attachEvent(this.optionKeineAngabe, "click", this.toggle);
this.toggle();
}
new DynamicFilter("T202", "T203", "T204");
// -->
</script>
Die Absicht dieses Skripts ist es, die Fragen T203 und T204 anzuzeigen, wenn die Option "Ja" (ID: T202_01a) ausgewählt ist, und sie auszublenden, wenn "Nein" (T202_02a) oder "Keine Angabe" (T202_03a) ausgewählt sind. Jedoch scheint der Code nicht das gewünschte Ergebnis zu zeigen. Die Fragen T203 und T204 werden nicht wie erwartet ausgeblendet.
Habe ich etwas in der Umsetzung übersehen? Gibt es besondere Einschränkungen oder spezifische Methoden, die ich in Ihrem System beachten muss, um solche interaktiven Elemente korrekt zu implementieren?
Vielen Dank im Voraus für Ihre Unterstützung.