Wert einer combobox abfragen

LoMo

Erfahrenes Mitglied
Wie kann man eigentlich den Wert einer Combobox abfragen ? Ich habs mit value probiert hat aber nicht so ganz geklappt.


Mein Versuch :D:
Code:
function show_wmtt(feldnr)
{
	if(document.getElementById("Art"+feldnr).value <> ''){
		wmtt = document.getElementById("gebiet"+feldnr);
		wmtt.style.display = "inline";
	}
	else {
		wmtt = document.getElementById("gebiet"+feldnr);
		wmtt.style.display = "none";
	}
}
 
hi,
versuche es mal mit
Code:
  dropdown.options[dropdown.selectedIndex].value

*grüssle*
MeinerEiner
 
Code:
function show_wmtt(feldnr)
{
	if(dropdown.options[dropdown.selectedIndex].value <> ''){
		wmtt = document.getElementById("gebiet"+feldnr);
		wmtt.style.display = "inline";
	}
	else {
		wmtt = document.getElementById("gebiet"+feldnr);
		wmtt.style.display = "none";
	}
}

Funktioniert leider auch nicht.

Code:
function show_wmtt(feldnr)
{
	if(document.getElementById("Art"+feldnr).options[document.getElementById("Art"+feldnr).selectedIndex].value <> ''){
		wmtt = document.getElementById("gebiet"+feldnr);
		wmtt.style.display = "inline";
	}
	else {
		wmtt = document.getElementById("gebiet"+feldnr);
		wmtt.style.display = "none";
	}
}

habs auch mal so testhalber so probiert geht aber auch leider nicht
 
Zuletzt bearbeitet:
also bei mir funktioniert das wunderbar, wenn ich die das dropwdownmenu folgendermassen definiere:
Code:
 <select name="dropdown" size="1">
 <option value="">""</option>
 <option value="wert1">anzeige1</option>
 <option value="wert2">anzeige2</option>
 </select>

und mit
Code:
 var selected = document.dropdown.options[dropdown.selectedIndex].value
kann ich wunderbar daraufzugreifen. Da steht dann entweder "",wert1 oder wert2.


Allerdings hab ich keine ahung, was du mit
Code:
 wmtt = document.getElementById("gebiet"+feldnr);
 wmtt.style.display = "inline";
bezwecken willst. Ich nehm aber mal an, du weist, das "getElementById" benutzt wird, um auf ein HTML-Element zuzugreifen, das ein id-Attribut besitzt? D.h. damit kannst du nicht auf die dropdown liste zugreifen.

*grüssle*
MeinerEiner
 
achsoooooooo. mmh des Problem bei mir is, dass meine dropdown´s variable namen haben und mittels php ausgegeben werden.

PHP:
	for($x=1;$x <= 10;$x++){
		echo '<tr>
			<td width="200">
				<select name="Art'.$x.'" id="Art'.$x.'" class="Textfelder">
					<option selected>&nbsp;</option>
					<option>x</option>
					<option>xx</option>
					<option>xxx</option>
					<option>xxxx</option>
					<option>xxxxx</option>
				</select>
			</td>
			<td>
				<input class="Textfelder" name="Eingabe1'.$x.'" id="Eingabe1'.$x.'" maxlength="50" size="50">
			</td>
			</tr>';
	}

Code:
var selected = document.Art(plus den wert, wo ich an die Funktion übergebe).options[Art(plus Wert).selectedIndex].value

Aber ich weiss nicht wie ich dass schreiben soll. Weist du vielleicht wie ich das schreiben könnte ?

mfg lomo
 
Hi,

lass in deinem PHP Teil einfach noch ein Onchange im Select-Tag schreiben, der die Funktion aufruft und die Id übergibt:

PHP:
<select name="Art'.$x.'" id="Art'.$x.'" onChange="show_wmtt(id)" class="Textfelder">

Dann kannst du in deiner Funktion über die Id auf den entsprechenden Select zugreifen und den Value vom SelectedIndex auslesen:

Code:
function show_wmtt(id)
{
   var sel = document.getElementById(id);
   var inhalt = sel.options[sel.selectedIndex].value;
   .
   .
   .
}

Gruß
 
stimmt,
muss mich übrigens korrigieren.. natürlich kann man auch einer dropdown liste einen ID tag zuweisen * vor eigener dummheit kopp schüttelt*
 
Habs nun mal probiert hat aber nicht ganz geklappt.

Beispiel:
Code:
	function action_aendern_und_feld_leeren(aenderung,id)
	{
		var sel = document.getElementById(id);
		var inhalt = sel.options[sel.selectedIndex].value;
		
		alert(inhalt);
                                inhalt = "";
		
		wmtt = document.getElementById("b_wahl");
		wmtt.action = aenderung;
		wmtt.submit();
	}

Diese Funktion wird beim onChange Ereigniss einer Combobox ausgeführt. In diesen fall gibt er aber nur einen leeren Text mit der Messagebox aus.

Die Id ist immer die Id der nebenliegenden Combobox. (Id passt hab ich schon überprüft).

HTML:
<select name="Branche2" id="Branche2" onChange="action_aendern_und_feld_leeren('/www2/test.php?Index1=&Anzahl=4&Weiter=0','Unterbranche2')">

Die action ändert er und sendet des Formular ab. Aber als value gibt er nix zurück, obwohl was in den Feld drin steht.

Weiss vielleicht jemand woran das liegen könnte ?

mfg lomo
 
Hi,

hast du bei den Options das value - Attribut mit angegeben?

Code:
<select id='sel1'>
   <option value=''></option>
   <option value='wert1'>Wert1</option>
</select>

Wenn nicht, dann gibt er dir nix zurück. :)
 

Neue Beiträge

Zurück