Enrico: Kombination PHP und Javascript (jQuery)

Beitrag lesen

Hallo,

wieder beschäftigt mich ein Problem.

Ich lasse in einer Datei dynamisch über PHP, d.h. in Abhängigkeit übergebener $_POST-Variablen, versteckte <input>-Felder aufbauen, um darin die jeweils benötigten Informationen abzulegen.

In dieser Seite werden, ebenfalls über PHP, eine Javascript-Funktion, die auf jQuery zurückgreift, sowie dynamische 2 Auswahllisten aufgebaut:

1. Auswahllisten

  
if (isset ($GroessenPreise))  
{  
   $Optionen = explode ("#", $GroessenPreise);  
  
   $Auswahllisten .= '<select name="AuswahlGroesse" id="Groesse" class="Auswahlliste" size="1" onchange="AuswahlErmitteln(\'AuswahlGroesse\');">';  
   $Auswahllisten .= '<option value="">Größe ?</option>';  
  
   for ($j = 0; $j < count ($Optionen); $j += 2)  
   {  
      $Auswahllisten .= '<option value="' . $Optionen[$j + 1] . '">' . $Optionen[$j] . '</option>';  
   }  
  
   $Auswahllisten .= '</select>';  
}  
  
if (isset ($Farbenzuschlaege))  
{  
   $Optionen = explode ("|", $Farbenzuschlaege);  
  
   $Auswahllisten .= '<select name="AuswahlFarbe" id="Farbe" class="Auswahlliste" size="1" onchange="AuswahlErmitteln(\'AuswahlFarbe\');">';  
   $Auswahllisten .= '<option value="">Farbe ?</option>';  
  
   for ($j = 0; $j < count ($Optionen); $j += 2)  
   {  
      $Auswahllisten .= '<option value="' . $Optionen[$j + 1] . '">' . $Optionen[$j] . '</option>';  
   }  
  
   $Auswahllisten .= '</select>';  
}  

2. Javascript-Funktion
[code lang=php]
if (isset ($Aktion))
{
   if ($Aktion == "ArtikelDetails")
   {
      echo '<script type="text/javascript">';
      echo 'function AuswahlErmitteln(Element)';
      echo '{';
      echo 'Auswahl = $("[name=Element]:selected").text();';
      echo 'Element = Element.replace("Auswahl", "");';
      echo '$("[name=Element]").val(Auswahl);';
      echo '}';
      echo '</script>';
   }
}
[\code]

Beide Auswahllisten rufen bei Treffen/Änderung einer Auswahl ("onchange") die Funktion "AuswahlErmitteln" auf und übergeben ihr den Namen der Auswahlliste.

Die Auswahllisten heissen "AuswahlGroesse" und "AuswahlFarbe".

Hier soll der Text der ausgewählten Option ermittelt und zwei versteckten Textfeldern übergeben werden, die ich "Groesse" und "Farbe" benannt habe.

Ich möchte deshalb auf Javascript zurückgreifen, da die obige Funktion später bei Änderungen gleich den Preis ermitteln soll (ToDo).

Derzeit stehe ich aber vor dem Problem, dass die ermittelte Auswahl immer leer ist.

Muss ich die Variable "Element" in der Zeile "Auswahl = $("[name=Element]:selected").text();" anders übergeben oder wo liegt der Fehler?

Vielen Dank für eure Hilfe und Gruß
Enrico
PS: Keine Ahnung, warum mein Formatierungskennzeichen bei der Javascript-Funktion ignoriert wird...