Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:create:best-worst [11.05.2021 09:24] – sophia.schauer | de:create:best-worst [05.05.2025 22:43] (aktuell) – [Verfeinerung] admin | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| {{: | {{: | ||
| - | =====Umsetzung===== | + | ===== Umsetzung ===== |
| Beim Erstellen einer MaxDiff Frage, wird aus zwei Auswahlfragen eine [[de: | Beim Erstellen einer MaxDiff Frage, wird aus zwei Auswahlfragen eine [[de: | ||
| Zeile 55: | Zeile 55: | ||
| {{: | {{: | ||
| + | ===== Verfeinerung ===== | ||
| + | |||
| + | Falls Sie vermeiden möchten, dass man ein Item gleichzeitig als beste und schlechteste Option wählen kann, ist JavaScript erforderlich. Erstellen Sie im Fragenkatalog einen "Neuen Text" mit der // | ||
| + | |||
| + | <code javascript> | ||
| + | < | ||
| + | function BestWorst(leftID, | ||
| + | | ||
| + | // Collect the options | ||
| + | let leftOptions = document.querySelectorAll(' | ||
| + | let rightOptions = document.querySelectorAll(' | ||
| + | | ||
| + | let count = Math.min(leftOptions.length, | ||
| + | | ||
| + | // If any is selected, the counterpart is disabled an unselected | ||
| + | function updateBlocking() { | ||
| + | for (let i=0; i<count; i++) { | ||
| + | if (leftOptions[i].checked) { | ||
| + | rightOptions[i].checked = false; | ||
| + | rightOptions[i].disabled = true; | ||
| + | } else { | ||
| + | rightOptions[i].disabled = false; | ||
| + | } | ||
| + | | ||
| + | if (rightOptions[i].checked) { | ||
| + | leftOptions[i].checked = false; | ||
| + | leftOptions[i].disabled = true; | ||
| + | } else { | ||
| + | leftOptions[i].disabled = false; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // Enable listeners | ||
| + | for (let i=0; i<count; i++) { | ||
| + | leftOptions[i].addEventListener(" | ||
| + | rightOptions[i].addEventListener(" | ||
| + | } | ||
| + | |||
| + | // Initial prüfen | ||
| + | updateBlocking(); | ||
| + | } | ||
| + | |||
| + | document.addEventListener(" | ||
| + | new BestWorst(" | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Für das weitere Beispiel nehmen wir an, dass der Text die Kennung " | ||
| + | |||
| + | <code php> | ||
| + | question(' | ||
| + | |||
| + | // JavaScript-Code | ||
| + | show(' | ||
| + | ' | ||
| + | ' | ||
| + | ]); | ||
| + | pageCSS(' | ||
| + | td.s2col2, | ||
| + | th.s2col1, | ||
| + | th.s2col3 { | ||
| + | text-align: center; | ||
| + | } | ||
| + | input[disabled] { | ||
| + | opacity: 0.5; | ||
| + | } | ||
| + | '); | ||
| + | </ | ||