Javascript Variable übergeben

DiDiJo

Erfahrenes Mitglied
Hey Leute ...

ich hab folgendes Problem mit meinem Code. Ich möchte per JS / Ajax ein Selectfeld-Auswahl verarbeiten, wenn die Auswahl verändert wird.

Irgednwie hab ich Probleme auf die this.value Variable zuzugreifen. Hier mal ein Beispiel:

Beispiel 1 (funktioniert. Alert liefert die richtige Zahl):
PHP:
$output .= $data['kategorie'].' => <select name="newKategorie" onchange="alert(this.value)">';		
		
$output .= '<option value="">Bitte auswählen</option>';
$output .= '<option value="0">keine</option>';

foreach ($kats as $row) {
	$output .= '<option value="'.$row['kid'].'">'.$row['kategorie'].'</option>';
	}

Nun kommt Beispiel 2: (funktioniert nicht. das this.value wird einfach als string übergeben (es kommt also 'this.value' an)).

PHP:
$output .= $data['kategorie']." => <select name='newKategorie' onchange='changeContent(\"formEvent\",\"deleteOldKategorie=$data[kid]&amp;newKategorie=this.value\")'>";
		
$output .= '<option value="">Bitte auswählen</option>';
$output .= '<option value="0">keine</option>';

foreach ($kats as $row) {
			$output .= '<option value="'.$row['kid'].'">'.$row['kategorie'].'</option>';
}

Jetzt hab ich mir gedacht ... gut dann wende ich einfach meine AJAX Funktion nicht beim onchange vom select-feld an sondern beim onclick (onfocus) eines Option-Feldes:

Beispiel 3:
PHP:
$output .= $data['kategorie'].' => <select name="newKategorie" >';		
$output .= '<option value="">Bitte auswählen</option>';
$output .= '<option value="0">keine</option>';

foreach ($kats as $row) {

$output .= '<option value="'.$row['kid'].'" onclick="changeContent(\'formEvent\',\'deleteOldKategorie='.$data['kid'].'&amp;newKategorie='.$row['kid'].'\')">'.$row['kategorie'].'</option>';
		}

Leider hat das aiuchz nicht funktioniert .... wie komme ich also an diese komische Variable ?

====================================================================================

So ich habs gelöst bekommen .... benutze nun das 3. Beiiel mit dem onmouseup Event
 
Zuletzt bearbeitet:
Zurück