dynamisches Array bei Funktionsaufruf übergeben

T1w2i3s4t5e6r

Grünschnabel
Hallo,

Ich habe ein Formular. Unter diesem Formular habe ich eine "select" Auswahlbox. Wenn ich in dieser Auswahlbox einen Eintrag doppelt klicke, lade ich mir per Javascript verschiedene Werte in das Formular. Da ich meine Seite mit PHP erzeuge habe ich zur Zeit einfach bei jedem Eintrag ein "ondbclick=" eingefügt und rufe darüber meine Funktion auf.
<option ondblclick="auswahl('1234','Vorname','Nachname','38','2023-03-01','2038-01-19','7','1','0','30','0')">Vorname Nachname</option>

Das funktioniert ganz wunderbar. Ich weiß, das wäre eigentlich ein Ajax-Thema, aber das habe ich noch nie verwendet, daher diese Lösung.

Jetzt habe ich das Problem, dass zusätzlich noch ein paar Checkboxen dazu kommen. Wenn ich also meinen Eintrag doppelt Klicke, kann eine unbestimmte Anzahl an Werten noch dazu kommen. Das einfachste wäre es, das über ein array zu lösen. Allerdings finde ich keine Schreibweise, wie ich bei dem Funktionsaufruf von 'auswahl' ein array übergeben kann.
Das habe ich schon probiert und klappt nicht:

<option ondblclick="auswahl('1234','Vorname','Nachname','38','2023-03-01','2038-01-19','7','1','0','30','0','["Test","Test2"]')">Vorname Nachname</option>


Genauso wie das nicht geklappt hat:
<option ondblclick="auswahl('1234','Vorname','Nachname','38','2023-03-01','2038-01-19','7','1','0','30','0','array["Test","Test2"]')">Vorname Nachname</option>

Habt ihr einen Tip für mich, wie es klappen kann?

Danke euch


Denis
 
Dass deine Versuche nicht funktionieren, liegt daran, dass Du ein wenig zu viel des Guten tust mit den Hochkommas. Dies sollte funktionieren:
Code:
<option ondblclick="auswahl('1234','Vorname','Nachname','38','2023-03-01','2038-01-19','7','1','0','30','0', ['Test', 'Test2'])">Vorname Nachname</option>
Beachte, dass bei den Strings innerhalb des Arrays einfache Hochkommas stehen müssen, weil Du die doppelten schon verwendest, um das Javascript einzuklammern.
 
Es kann manchmal so einfach sein. Du hast natürlich recht, mit den doppelten Hochkommas schließe ich ja den ganzen Funktionsaufruf ab. Ich danke dir für deine Hilfe. Habe es gerade ausprobiert und es funktioniert.

Merci


Denis
 
Zurück