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; | ||
+ | } | ||
+ | '); | ||
+ | </ |