====== Texteingabe mit Auswahlempfehlung ====== Die "Texteingabe mit Auswahlempfehlung" sieht für den Befragten zunächst aus wie eine gewöhnliche Texteingabe-Frage. Sobald er allerdings einige Zeichen in das Eingabefeld einträgt, werden passende Auswahloptionen angeboten, die durch Tastatur (Pfeiltasten) oder Mausklick ausgewählt werden können. {{:de:create:questions:scr.suggest.png?nolink|Texteingabe mit Auswahlempfehlung}} Wird eine der Auswahloptionen gewählt oder manuell eingetragen, wird im Datensatz direkt der zugehörige (numerische) Code gespeichert -- die Antworten werden also direkt kodiert. Sofern es die Frage erlaubt, etwas anderes als die vorgegebenen Optionen einzutragen, wird diese Eingabe als Text (in einer anderen Variable) im Datensatz gespeichert. ===== Vor- und Nachteile ===== Die Texteingabe mit Auswahlempfehlung ist vor allem dann hilfreich, wenn es in einer Frage sehr viele Antwortmöglichkeiten gibt -- und andere Fragetypen wie Dropdown oder sichtbare Auswahl deshalb zu unübersichtlich sind. Weiterhin ist die Auswahlempfehlung intuitiver, wenn neben den vorgegeben Auswahloptionen auch offene Antworten möglich sind. Allerdings ist zum Antworten zwingend ein Wechsel von Maus- zu Tastaturbedienung erforderlich -- gerade auf Mobilgeräten ([[:de:create:smartphones|Fragebögen für Mobilgeräte]]) ist eine Dropdown-Auswahl u.U. einfacher zu beantworten. Weiterhin geht dieser Fragetyp -- im Vergleich zu einer gewöhnlichen [[select|Auswahlfrage]] -- mit etwas mehr Aufwand bei der Auswertung einher. Denn wenn ein Teilnehmer die vorgegeben Antworten noch verändert oder ergänzt (z.B. "Ich habe kein Handy, weil ich es nicht brauche" statt der Vorgabe "Ich habe kein Handy"), können diese nicht mehr automatisch kodiert werden. ===== Auswahloptionen ===== Die Antwortoptionen werden zusammen mit einem Antwortcode und (optional) Suchbegriffen definiert. Text und Suchbegriffe können durch einen Tabulator oder ein Semikolon ('';'') getrennt werden. Zwischen numerischem Antwortcode und Text genügt auch ein Leerzeichen. 00 Text der Auswahloption A 01 Text der Auswahloption B; Suchbegriff B1; Suchbegriff B2 Die Suchbegriffe sind für den Teilnehmer nicht sichtbar, werden aber bei der Anzeige passender Auswahloptionen berücksichtigt: Wenn beispielsweise als Suchbegriff für "Deutschland" auch "Germany" eingetragen wurde, erscheint die Auswahloption "Deutschland" auch denn, wenn der Teilnehmer "ger" eingetippt hat. Die folgenden Auswahloptionen erlauben die Auswahl von 5 Orten. Trägt der Befragte die PLZ eines Ortes ein, erscheint der entsprechende Ort als Auswahlempfehlung: 01 Augsburg; 86150; 86152; 86153; 86154; 86156; 86157; 86159; 86161; 86163; 86165; 86167; 86169; 86179; 86199 02 Bergen; 83346 03 Chiemsee; 83256 04 Darmstadt; 64283; 64285; 64287; 64289; 64291; 64293; 64295; 64297 05 Erding; 85435 ===== JavaScript-Anbindung ===== Für jede Texteingabe mit Auswahlempfehlung wird ein JavaScript-Objekt der Klasse ''SoSciSuggest'' erstellt. Das Objekt ist über ''s2'' erreichbar. Der Name setzt sich aus der Kennung der Frage, einem ''e'' und der zweistelligen Nummer des Eingabefelds zusammen. * Eine Frage mit der Kennung "TA01" und einem Eingabefeld würde also im JavaScript-Objekt ''s2.TA01a01'' abgebildet. * Eine Frage mit der Kennung "TS02" und zwei Eingabefeldern würde das erste Eingabefeld im Objekt ''s2.TS02e01'' abbilden. Das Objekt besitzt eine Eigenschaft ''value'', welche den (Text-)Inhalt des Eingabefelds zurückliefert. Darüber hinaus unterstützt das Objekt die Methode ''addEventListener(String //EventID//, Function //Funktion//)'', welches bei Auswahl einer Option (//EventID// ''"change"'') oder bei Tastendrücken im Textfeld (//EventID// ''"keydown"'', ''"keypress"'', ''"keyup"'') die angegebene //Funktion// aufruft. Bitte beachten Sie, dass das JavaScript-Objekt erst am Ende der Seite erstellt wird, Event Handler können also erst nach dem Laden der Seite registriert werden: Mit der Methode ''addExtraOption(string Text)'' können zusätzliche Antwortvorgaben definiert werden, die im Datensatz wie eine offene Texteingabe behandelt werden. Dies ermöglicht die dynamische Anpassung der Antwortoptionen während des Ausfüllens. Die Methode ''clearExtraOptions()'' entfernt alle vorher ergänzten Optionen. Für gewöhnlich speichert die Auswahlempfehlung beim Ausfüllen der Fragebogen-Seite intern, welche Optionen für einen Suchbegriff vom Server übermittelt wurden. Mit der Methode ''clearCache()'' kann dieser Cache geleert werden -- das ist hilfreich, wenn während des Ausfüllens der Seite neue Antwortoptionen in die **Datenbank für Inhalte** aufgenommen wurden.