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

  1. 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:

JSWertBeispiel
var jaxDisableCheckName = "xxx";Name der Checkbox (Auslöser)checkLorem
var jaxDisableRadioName = "yyy";Name der zu deaktivierende Radiobutton-AuswahlauswahlLorem
var jaxDisableRadioVal = "n";ID/Wert des zu deaktivierenden Radiobuttons2

3. Im JS Code die var Werte vom Formular übernehmen:

JSWertBeispiel
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-AuswahlauswahlLorem
var jaxDisableRadioVal = "n";ID/Wert des zu deaktivierenden Radiobuttons2

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();
		}
	});
});
  • Keine Stichwörter

Kommentar