Preisberechnung mit JavaScript

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Bourner
Beiträge: 20
Registriert: 16.02.2017, 19:38

Preisberechnung mit JavaScript

Beitrag von Bourner » 18.09.2019, 15:33

Hallo,

ich suche einen Weg die folgenden Zeilen abzukürzen.

if (Modell.rawValue == modell1.value)
{Preis.rawValue = preis1;}

if (Modell.rawValue == modell2.value)
{Preis.rawValue = preis2;}

if (Modell.rawValue == modell3.value)
{Preis.rawValue = preis3;}

Gibt es eine Möglichkeit, da ich 30 verschiedene Modelle habe und somit auch 30 verschiedene Preise?
Kann man das irgendwie zusammenfassen, ohne das Ganze 30 Mal zu kopieren?

Danke

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Re: Preisberechnung mit JavaScript

Beitrag von BAlheit » 18.09.2019, 16:31

Dies müsste mit einer Liste oder Array möglich sein.

Bourner
Beiträge: 20
Registriert: 16.02.2017, 19:38

Re: Preisberechnung mit JavaScript

Beitrag von Bourner » 19.09.2019, 07:21

Hast du da ein Beispiel für mich?
Bin nicht gut im Programmieren, kann zwar was mit nem Array anfangen, aber umsetzen kann ich es nicht.

Danke für die Mühe
Gruß
Björn

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Re: Preisberechnung mit JavaScript

Beitrag von BAlheit » 19.09.2019, 15:40

Beispiel:

Code: Alles auswählen

var arr = 
{
	"part1": 1.0,
	"part2": 2.0,
	"part3": 2.5
};

Beispiel für Verwendung:

arr["part3"];

Bourner
Beiträge: 20
Registriert: 16.02.2017, 19:38

Re: Preisberechnung mit JavaScript

Beitrag von Bourner » 19.09.2019, 16:21

Hallo,

das verstehe ich nicht.
Ich habe ein Dropdown Feld (Modell) wenn hier Modell1 ausgewählt wird, soll Preis1 im Textfeld Preis angezeigt werden.
Wenn Modell2, dann Preis2, wenn Modell3 dann Preis3.
Modell1- Modelln und Preis1- Preisn sind jeweils als Variablen festgelegt.
Jetzt möchte ich mir nur noch etwas Schreibaufwand ersparen, da sich das Ganze ja etwas wiederholt.

Danke und Gruß

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Re: Preisberechnung mit JavaScript

Beitrag von BAlheit » 19.09.2019, 16:30

Wenn man keine Variablen verwendet, sondern die Werte im Array einträgt, kann man verwenden:
Preis.rawValue = arr[Modell.rawValue];

Bourner
Beiträge: 20
Registriert: 16.02.2017, 19:38

Re: Preisberechnung mit JavaScript

Beitrag von Bourner » 20.09.2019, 07:53

Hallo,
ich hab wirklich versucht es zu verstehen, aber es kommt nix bei rum.
Keine Ahnung wie ich das einbauen soll.
Trotzdem danke für deine Mühe.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Re: Preisberechnung mit JavaScript

Beitrag von armine » 20.09.2019, 08:34

Hallo Bourner,

um weniger Code zu schreiben/kopieren kannst du eine dynamische Tabelle und Funktionen (alle in "Skripte", am Fuß der Hierarchie zu finden) verwenden.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Bourner
Beiträge: 20
Registriert: 16.02.2017, 19:38

Re: Preisberechnung mit JavaScript

Beitrag von Bourner » 20.09.2019, 09:24

Hallo Armine,

das hilft mir doch schon mal deutlich weiter.
Vielen Dank dafür. Das passt an sich auch ganz gut, aber nach ein wenig herumtüfteln, ist mir aufgefallen, dass ich für die Skripte eine Tabelle benötige. Das liegt wahrscheinlich an dem "objekt.parent" oder?
Gibt es das auch, wenn Dropdownfeld und Dezimalfeld in einem eigenen Teilformular sind, ohne Tabelle?
Oder sollte ich eine Tabelle anlegen und die Rahmen ausblenden?

Danke nochmals
Gruß
Björn

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Re: Preisberechnung mit JavaScript

Beitrag von armine » 20.09.2019, 09:44

Hallo Björn,

du solltest dein PDF mittels Tabelle aufbauen. Deine Layoutideen lassen sich damit bestimmt verwirklichen. Wenn dir dazu das Rüstzeug noch fehlt, kannst du deinen Ansatz hochladen.
Der Ansatz mit "Objekt.parent" dient zum einen dazu, mit Funktionen mehrere Tabellen in einem Formular zu bedienen, zum anderen kann man die Funktionen ohne Anpassung in ein neues Formular übernehmen.

vg armine

Antworten