Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
de:create:table-layout-dropdowns [29.01.2015 18:21] – admin | de:create:table-layout-dropdowns [09.04.2018 08:34] – admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Drodowns nebeneinander platzieren ====== | ====== Drodowns nebeneinander platzieren ====== | ||
- | Dropdown-Fragen lassen sich mithilfe von Tabellen | + | Dieses Kapitel beschreibt, wie sich Dropdown-Auswahlfelder |
- | Beispielsweise will man im Fragebogen einen Zeitraum (Monat/Jahr - Monat/Jahr) abfragen und alternativ zum Enddatum die Auswahlmöglichkeit "bis heute" anbieten. | + | {{: |
- | Diese Frage lässt sich durch die Kombination vierer | + | Für die Frage sind insgesamt vier Dropdown-Auswahlfragen |
- | {{ :de: | + | **Tipp:** Anstatt der Dropdown-Auswahlfelder könnten ebenso Texteingabe-Felder (z.B. zur Angabe des Jahres) zum Einsatz kommen. |
===== Schritt für Schritt ===== | ===== Schritt für Schritt ===== | ||
+ | - Legen Sie eine neue Frage vom Typ " | ||
+ | - Legen Sie eine weitere neue Frage " | ||
+ | - Duplizieren Sie beide Fragen (ST19 und ST20) für die Eingabe des Enddatums. | ||
+ | - Legen Sie eine weitere Frage an, diesmal vom Typ " | ||
+ | - Folgende Sie der Anleitung unten (Variante 1 __oder__ Variante 2), um die 5 Fragen nebeneinander im Fragebogen zu platzieren. Dafür wird unter **Fragebogen zusammenstellen** mittels HTML eine Tabelle mit fünf Feldern in einer Zeile erzeugt. | ||
- | - Legen Sie eine Dropdown-Frage mit den Monaten von Januar bis Dezember an (im Beispiel ST17) und duplizieren Sie diese (Frage ST19). Damit haben Sie eine Frage für die Monatsauswahl des Anfangs- und des Enddatums erzeugt. Ebenso verfahren Sie mit Fragen ST18 und ST20, die dann das Anfangsjahr bzw. das Endjahr in der kombinierten Frage bilden. | ||
- | - Legen Sie die Antwortoption "bis heute" als eine Frage vom Typ Mehrfachauswahl an. | ||
- | - Erstellen Sie unter **Fragebogen zusammenstellen** mithilfe von HTML- und PHP-Elementen, | ||
- | **Tipp:** Alternativ können Sie auch mit [[inputs-single|frei platzierten Eingabefeldern]] arbeiten. In diesem Fall erstellen Sie einen Textbaustein mit dem kompletten Tabellengerüst und verwenden für die Dropdowns die entsprechenden Platzhalter. | + | ===== Variante 1 ===== |
- | ==== Erstellen | + | Verwenden Sie [[inputs-single|frei platzierten Eingabefeldern]], |
- | Erstellen | + | Unter **Fragebogen zusammenstellen** (mittels Element " |
<code html> | <code html> | ||
- | <div class=" | + | <div class=" |
- | < | + | |
+ | </ | ||
<table width=" | <table width=" | ||
- | < | + | |
+ | <col width=" | ||
+ | <col width=" | ||
+ | <col width=" | ||
+ | <col width=" | ||
<col width=" | <col width=" | ||
+ | </ | ||
+ | <tr> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <td> | ||
+ | </ | ||
+ | |||
+ | Die Option "bis heute" muss als Frage eingefügt werden. Dafür können Sie entweder eine Zeile PHP-Code verwenden -- oder Sie ziehen die Frage in die Seite und passen die Darstellungsoptionen ({{: | ||
+ | |||
+ | <code php> | ||
+ | // Einfügen der Auswahlalternative ("bis heute" | ||
+ | question(' | ||
+ | </ | ||
+ | |||
+ | <code html> | ||
+ | <!-- Ende der Tabelle --> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Variante 2 ==== | ||
+ | |||
+ | Anstatt mit Platzhalter zu arbeiten, können Sie die Fragen auch alle " | ||
+ | |||
+ | <code html> | ||
+ | <div class=" | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | <table width=" | ||
+ | < | ||
<col width=" | <col width=" | ||
<col width=" | <col width=" | ||
<col width=" | <col width=" | ||
<col width=" | <col width=" | ||
- | </ | + | <col width=" |
- | < | + | |
- | < | + | < |
+ | <td> | ||
+ | </ | ||
- | ==== Erste Frage in erste Zelle einfügen ==== | + | Das erste Dropdown-Eingabefeld (Monat des Arbeitsbeginns) wird nun entweder mit einer Zeile PHP-Code eingefügt -- oder Sie ziehen die Frage in die Seite und passen die Darstellungsoptionen ({{: |
- | Fügen Sie die erste Dropdown-Box aus der Frage nach dem Monat des Arbeitsbeginns ein. Mit den Optionen in der Klammer unterdrücken Sie Fragetext und -erläuterung | + | Die Optionen im '' |
<code php> | <code php> | ||
Zeile 45: | Zeile 90: | ||
</ | </ | ||
| | ||
- | ==== Tabelle | + | Nun wird das HTML-Gerüst der Tabelle |
<code html> | <code html> | ||
- | </td> | + | |
<td> | <td> | ||
</ | </ | ||
Zeile 88: | Zeile 133: | ||
<code html> | <code html> | ||
- | <!-- Ende der Tabelle --> | + | |
- | </ | + | </tr> |
- | </tr> | + | |
</ | </ | ||
</ | </ | ||
- | ==== Alternativ-Option "bis heute" ==== | + | ==== JavaScript für die Option "bis heute" ==== |
+ | |||
+ | Jetzt muss der Fragebogen noch dafür sorgen, die Dropdown-Felder für das Enddatum zu deaktivieren, | ||
- | Fügen Sie ganz ans Ende dieser | + | Fügen Sie dafür am Ende der Fragebogenseite |
<code html> | <code html> | ||
- | <script src=" | ||
<script type=" | <script type=" | ||
<!-- | <!-- | ||
Zeile 113: | Zeile 158: | ||
} | } | ||
} | } | ||
- | oFbGeneral.attachEvent(tillToday, | + | SoSciTools.attachEvent(tillToday, |
+ | checkAlternative(); | ||
// --> | // --> | ||
</ | </ | ||
</ | </ | ||
- | |||
- | Dieser Baustein sorgt dafür, dass ST19 und ST20 grau schattiert werden, wenn das Auswahlfeld '' | ||
==== Überprüfung der Eingabe ==== | ==== Überprüfung der Eingabe ==== | ||
- | Wenn Sie einen zusätzlichen Konsistenzcheck einbauen wollen, um zu überprüfen, | + | Wenn Sie einen zusätzlichen Konsistenzcheck einbauen wollen, um zu überprüfen, |
Wenn Sie die Fragen analog zum Beispiel angelegt haben, steht dort beispielsweise Folgendes: | Wenn Sie die Fragen analog zum Beispiel angelegt haben, steht dort beispielsweise Folgendes: | ||
- | * Für [ST17] und [ST19] jeweils: \\ 1 = Januar \\ 2 = Februar \\ ... \\ 12 = Dezember \\ -9 = nicht beantwortet | + | * [ST17] und [ST19] jeweils\\ 1 = Januar\\ 2 = Februar\\ ...\\ 12 = Dezember\\ -9 = nicht beantwortet |
+ | * [ST18] und [ST20] jeweils\\ 1 = 2005\\ 2 = 2004\\ 3 = 2003 \\ ...\\ 35 = 1980\\ -9 = nicht beantwortet | ||
+ | * [ST21]\\ 1 = nicht gewählt\\ 2 = gewählt | ||
- | * Jahre: Für [ST18] und [ST20] jeweils: \\ 1 = 2014 \\ 2 = 2013 \\ 3 = 2012 \\ ... \\ 35 = 1980 \\ -9 = nicht beantwortet | + | Durch einen Filter lässt sich sicherstellen, |
- | * Auswahl: Für [ST21]: \\ 1 = nicht gewählt \\ 2 = gewählt | + | Um der Teilnehmerin bzw. dem Teilnehmer in diesen Fällen einen Fehlertext und die Frage erneut anzuzeigen, erstellen Sie einen Textbausteil im Menü **Textbausteine u. Beschriftung**, |
- | + | ||
- | Durch einen Filter lässt sich sicherstellen, | + | |
- | Um der Teilnehmerin bzw. dem Teilnehmer in diesen Fällen einen Fehlertext und die kombinierte | + | |
<code php> | <code php> | ||
- | //Jahr des Eintritts liegt nach dem Jahr des Austritts | + | // Jahr des Eintritts liegt nach dem Jahr des Austritts |
if ((value(' | if ((value(' | ||
- | | + | |
- | repeatPage(); | + | |
} | } | ||
- | //im gleichen Jahr, aber unterschiedliche Monate | + | // Im gleichen Jahr, aber unterschiedliche Monate |
if ((value(' | if ((value(' | ||
- | | + | |
- | repeatPage(); | + | |
} | } | ||
- | |||
- | // Optional: TN hat keine Eingabe getroffen | ||
- | if (value(' | ||
- | text(' | ||
- | repeatPage(); | ||
- | } | ||
- | |||
</ | </ |