Checkbox Selektion
Um die Editierbarkeit einer Radiobutton-Auswahl bei einer Selektion einer Checkbox zu deaktivieren, kann folgendes im Form Wizard eingebaut werden:
Beispiel
Radiobutton Selektion
Um die Editierbarkeit einer Radiobutton-Auswahl bei einer Selektion eines anderen Radiobuttons zu deaktivieren, kann folgendes im Form Wizard eingebaut werden:
Beispiel
Form Wizard
- Feld mit Fragetyp als Anzeigetext erstellen, Sichtbarkeit auf false stellen
2. Folgenden JS Code in die Beschriftung einfügen
<script type="text/javascript" defer="defer"> var jaxDisableCheckName = "xxx"; var jaxDisableRadioName = "yyy"; var jaxDisableRadioVal = "n"; var jaxDisableCheckSelector = $jax("input[name='"+jaxDisableCheckName+"']"); var jaxDisableRadioSelector = $jax("input[name ^='"+jaxDisableRadioName+"'][value='"+jaxDisableRadioVal+"']"); function jaxDisableRadiobutton() { if (jaxDisableCheckSelector.is(":checked")) { jaxDisableRadioSelector.attr({"aria-disabled": true, "disabled":"", "checked": false}); } else { jaxDisableRadioSelector.removeAttr("aria-disabled disabled"); } } (function() { var old = initAutoFields; initAutoFields = function() { var result = old.apply(this, arguments); jaxDisableRadiobutton(); return result; } })(); </script>
2. Folgenden JS Code in die Beschriftung einfügen
<script type="text/javascript" defer="defer"> var jaxDisableFromRadioName = "xxx"; var jaxDisableFromRadioVal = "n"; var jaxDisableToRadioName = "yyy"; var jaxDisableToRadioVal = "n"; var jaxDisableToRadioSelector = $jax("input[name^='"+jaxDisableToRadioName+"'][value='"+jaxDisableToRadioVal+"']"); function jaxDisableRadiobutton() { var jaxDisableFromRadioSelector = $jax("input[name^='"+jaxDisableFromRadioName+"']:checked").val(); if (jaxDisableFromRadioSelector == jaxDisableFromRadioVal) { jaxDisableToRadioSelector.attr({"aria-disabled": true,"disabled": "","checked": false}); } else { jaxDisableToRadioSelector.removeAttr("aria-disabled disabled"); } } (function() { var old = initAutoFields; initAutoFields = function() { var result = old.apply(this, arguments); jaxDisableRadiobutton(); return result; } })(); </script>
3. Im JS Code die var Werte vom Formular übernehmen:
JS | Wert | Beispiel |
---|---|---|
var jaxDisableCheckName = "xxx"; | Name der Checkbox (Auslöser) | checkLorem |
var jaxDisableRadioName = "yyy"; | Name der zu deaktivierende Radiobutton-Auswahl | auswahlLorem |
var jaxDisableRadioVal = "n"; | ID/Wert des zu deaktivierenden Radiobuttons | 2 |
3. Im JS Code die var Werte vom Formular übernehmen:
JS | Wert | Beispiel |
---|---|---|
var jaxDisableFromRadioName = "xxx"; | Name der Radiobutton-Auswahl (Auslöser) | triggerLorem |
jaxDisableFromRadioVal = "n" | ID/Wert des Radiobuttons (Auslöser) | 1 |
var jaxDisableRadioName = "yyy"; | Name der zu deaktivierende Radiobutton-Auswahl | auswahlLorem |
var jaxDisableRadioVal = "n"; | ID/Wert des zu deaktivierenden Radiobuttons | 2 |
Radiobutton Selektion (Mehrfache Deaktivierung)
#WIP
Beispiel aus dem KSBL Formular "radiologieanmeldungintern":
custom.js
$(window).bind("load", function() { var rbUntersuchungMammographie = "input[name ^='rb_untersuchung'][value='mammographie']"; var rbUntersuchungUltraschall = "input[name ^='rb_untersuchung'][value='ultraschall']"; var rbUntersuchungDurchleuchtung = "input[name ^='rb_untersuchung'][value='durchleuchtung']"; var rbUntersuchungDVT = "input[name ^='rb_untersuchung'][value='dvt']"; var rbUntersuchungAngio = "input[name ^='rb_untersuchung'][value='angio']"; var rbUntersuchungSchmerz = "input[name ^='rb_untersuchung'][value='schmerztherapie']"; var rbUntersuchungMRI = "input[name ^='rb_untersuchung'][value='mri']"; var rbUntersuchungSPECT = "input[name ^='rb_untersuchung'][value='spectct']"; var rbUntersuchungPET = "input[name ^='rb_untersuchung'][value='petct']"; var rbUntersuchungDexa = "input[name ^='rb_untersuchung'][value='dexaknochendichte']"; var rbRapportMedizin = "input[name ^='rb_rapport'][value='medizin']"; var rbRapportChirurgie = "input[name ^='rb_rapport'][value='chirurgie']"; var rbRapportReha = "input[name ^='rb_rapport'][value='reha']"; var rbRapportUrologie = "input[name ^='rb_rapport'][value='urologie']"; var rbRapportHNO = "input[name ^='rb_rapport'][value='hno']"; var rbRapportRoentgen = "input[name ^='rb_rapport'][value='roentgen']"; var rbRapportKeinRapport = "input[name ^='rb_rapport'][value='keinrapport']"; function rbRemoveAttrAll() { $jax("input[name^='rb_untersuchung'][type='radio'], input[name ^='rb_rapport']").removeAttr("aria-disabled disabled"); } $jax("input[name^='rb_standort']").on("click", function () { var rbStandort = $jax("input[name^='rb_standort']:checked").val(); if (rbStandort == "Li") { rbRemoveAttrAll(); $jax( rbUntersuchungDexa + "," + rbRapportReha + "," + rbRapportRoentgen ).attr({ "aria-disabled": true, "disabled": "", "checked": false }); } else if (rbStandort == "Bh") { rbRemoveAttrAll(); $jax( rbRapportHNO + "," + rbRapportRoentgen ).attr({ "aria-disabled": true, "disabled": "", "checked": false }); } else if (rbStandort == "La") { rbRemoveAttrAll(); $jax( rbUntersuchungMammographie + "," + rbUntersuchungUltraschall + "," + rbUntersuchungDurchleuchtung + "," + rbUntersuchungDVT + "," + rbUntersuchungAngio + "," + rbUntersuchungMRI + "," + rbUntersuchungSPECT + "," + rbUntersuchungPET + "," + rbUntersuchungDexa + "," + rbRapportMedizin + "," + rbRapportChirurgie + "," + rbRapportReha + "," + rbRapportHNO ).attr({ "aria-disabled": true, "disabled": "", "checked": false }); } else if (rbStandort == "Ah") { rbRemoveAttrAll(); $jax( rbUntersuchungMammographie + "," + rbUntersuchungUltraschall + "," + rbUntersuchungDurchleuchtung + "," + rbUntersuchungDVT + "," + rbUntersuchungAngio + "," + rbUntersuchungSchmerz + "," + rbUntersuchungMRI + "," + rbUntersuchungSPECT + "," + rbUntersuchungPET + "," + rbUntersuchungDexa + "," + rbRapportMedizin + "," + rbRapportChirurgie + "," + rbRapportReha + "," + rbRapportUrologie + "," + rbRapportHNO + "," + rbRapportRoentgen + "," + rbRapportKeinRapport ).attr({ "aria-disabled": true, "disabled": "", "checked": false }); } else { rbRemoveAttrAll(); } }); });
Kommentar
Roberto Savini sagt:
Okt. 28, 2022Danke!