Dynamische Funktion / 2 Dropdownmenüs

fl1tz

Grünschnabel
Ich habe 2 Dropdownmenüs (jeweils mehrere Elemente).
Ich will eine dynamische Funktion erstellen.
Ziel: Wenn ich auf den submit-Button klicke, soll das jeweiligs gewählte Menü aufklappen
Ich benötige eine Funktion, mit der ich per submit-Button das Aufklappen des Menüs steuere.

Das Formular sähe etwa so aus:
HTML:
<form action = "<eigeneDatei.php" method = "post">
<p>
<select id='dynam1' name='ausW1'>
   <option name="hand" value='klF'">kleiner Finger</option>
   <option name="hand" value='ringF'>Ringfinger</option>
   <option name="hand" value='mittelF'>Mittelfinger</option>
   <option name="hand" value='zeigeF'>Zeigefinger</option>
</select>
</p>
<p>
<select id='dynam2' name='ausW2'>
   <option name="bluse" value='weltB'>Welt-Blusen</option>
   <option name="bluse" value='euroB'>Europa-Blusen</option>
   <option name="bluse" value='lokalB'>Lokal-Blusen</option>
   <option name="bluse" value='hofB'>Hof-Blusen</option>
   <option name="bluse" value='kellerB'>Keller-Blusen</option>
</select>
</p>

<input type="submit" value="abschicken">
</form>

Mein Ansatz für die Funktion:

PHP:
function dynamAuswahl ($id, $name, array $options, $multiple = false)

Die Funktion aufrufen will ich im Body innerhalb des Formulars dann mit ...

PHP:
<?php
echo "dynamAuswahl"("dynam1", "ausW", array("klF", "ringF", "mittelF", "zeigeF"), false);
</p>
<p>
echo "dynamAuswahl"("dynam2", "ausW2", array("weltB", "euroB", "lokalB", "hofB"), true);
</p>
<input type="submit" value="abschicken">
?>

Ich weiß. Wenn man's kann, ist es pipi leicht. Mir fehlt die Initialzündung.
 
Ich habe - Anfängerfehler - meine Frage auch auf selfphp.de sowie phpforum.de gepostet. Auf der Suche nach einer Lösung, nicht um Menschen zu beschäftigen oder an der Nase herumzuführen. Meine Lösung werde ich hier auch veröffentlichen.

Ich bitte meinen Fauxpas zu entschuldigen.
 
Hi,

das was du steuern möchtest wird nicht mit PHP klappen. Du wirst Javascript benötigen. PHP kann die Dynamik im Browser bei einem Click Event nicht steuern.

PHP ist serverseitig und Javascript Client seitig.

Versuche es mal im anderem Bereich Javascript & Ajax.

Lg
 
Hi

Keine Sorge, wir denken nicht dass wir den alleinigen Anspruch auf Fragen haben :)

Aber, falls in den anderen Foren jemand eine PHP-"Lösung" hatte, wäre ein Link sehr interessant...
wie lockcat sagt, sowas gibt es eigentlich nicht.
 
Ich drücke mich wohl auch völlig unklar aus.
Ich möchte mit einer Funktion, die folgende Elemente hat ...

PHP:
function dynAuswahl ($id, $name, array $options, $multiple = false)

von diesem Zustand eines Dropdowns ...

01.png


zu diesem kommen ...

02.png
 
Im PHP-Forum hat TessaKavanagh folgenden Vorschlag gemacht: (https://www.php.de/forum/webentwicklung/php-einsteiger/1489629-php-funktion-dynamische-auswahlliste)

PHP:
<input type="submit" value="abschicken">
</form>

function dynAuswahl ($id, $name, array $options, $multiple = XXXX)
{
  if(XXXXXXXXXXXX)
  {XXXXXXXXXX = "XXXXXX";}

    foreach(XXXXXXXXXXX as $key => $value)
    {
    $format = '<option XXXXXXXXXXXX</option>';
    $result .= sprintf(XXXXXXXXXXXXXX);
    }

$format = '<select XXXXXXXXXXXXXXXXX</select>';
return $result = sprintf(XXXXXXXXXXXX);
}

soweit bin ich ->

PHP:
function dynAuswahl ($id, $name, array $options, $multiple = false)
{
  if($multiple != false)
  {$multiple = "multiple";}

    foreach($options as $key => $value)

dann verließen sie ihn ...
Werden denn da beide Selects mit den Options reingebaut? Ich hab einfach keine Vorstellung. :confused:
 
Guten Morgen,

Mich würde mal interessieren, ob und vor allem "Wie" Du diese Aufgabe gelöst hast!

Ich hänge genauso wie Du schon eine Ewigkeit an dieser Aufgabe und bekomme "das" mit den "options- und select- Elementen" innerhalb der Funktion einfach nicht hin!!! Trotz Recherche im Netz, Lehrbüchern etc.

Der Beitrag aus dem PHP-Forum von TessaKavanagh ist echt Super, nur leider bekomme ich es trotz der „lockerflockigen“ Beschreibung nicht zum laufen!

Also fl1tz, hau raus und „Danke“ für jede Info die Mich verstehen lässt!
 
Zurück