Probleme mit funktion (wenn dann...)

Sebigf

Erfahrenes Mitglied
Hallo zusammen!

Ich habe folgendes vor....


Vorhanden:
1x Dropdown (mit 2 werten)
1x checkbox (deaktiviert und ohne wert, also "nonchecked")

Beim dropdown ist der 1. wert als "selected" gewählt.

Nun möchte ich, dass "immernur dann" wenn der 1. wert gewählt ist, die checkbox aktiviert ist und angeklickt werden kann.

Wenn z.b. der 2. wert selectiert ist, soll die checkbox deaktiviert sein, also "disabled".

Wie kann ich da vorgehen?

Ich habe kaum einen plan von javascript...leider^^


danke
 
Hi,

HTML:
<form name="form1">
<select name="select" onChange="this.form.checkbox.disabled = (this.value != '1');">
	<option value="1">Wert 1</option>
	<option value="2">Wert 2</option>
</select>
<input type="checkbox" name="checkbox" value="checkbox">
</form>

Gruß
.
 
Vielen Dank für die schnelle Anwort.

Hat auch auf Anhieb funktioniert! ;)
Vielen dank

Aber wie kann ich es machen, das es beim anderen wert wieder "aktiviert" wird.

Ich habs mal so probiert...

PHP:
		function dis(){
		return document.form_add.frontend.disabled = (document.value != '1');
		return document.form_add.frontend = (document.value != '0');
		}
 
Wie meinst du das?

Es ändert sich nicht, es bleibt deaktiviert....
Aber es muss doch irgendwie gehen...
 
Bei mir ändert es sich durchaus. ;)

Diese Abfrage:
HTML:
(this.value != '1')
funktioniert natürlich nur, wenn der erste Eintrag im Menü auch den Wert "1" hat.

Poste bitte mal den entsprechenden Codeausschnitt bei Dir!

Gruß
.
 
Handelt es sich denn bei "this" um einen wert den ich ändern muss, oder ist das ein SC befehl?

Hier die codes...

#### Dropdown####

HTML:
	echo "<SELECT CLASS='menu' NAME='temp_bezug_id' ONCHANGE='make_menu(), dis()'>";
	echo "<OPTION VALUE='0'>Hauptkategorie</OPTION>";
	echo "<OPTION VALUE='1'>Unterkategorie</OPTION>";
	echo "</SELECT>";


#####SC funktion#######


HTML:
		function dis()
		{
		this.form_add.frontend.disabled = (this.value != '0');
		}


#### Checkbox #####
HTML:
	echo "<INPUT NAME=frontend TYPE=checkbox VALUE=yes>";


###########Nachtrag###############

Die checkbox soll nur aktiv sein wenn "Hauptkategorie" ausgewählt ist. Kann sein, das ich den wert (0 oder 1) vorhin vertauscht habe. sorry
 
Zuletzt bearbeitet:
this ist ein Verweis auf das aktuelle Objekt und wird so innerhalb einer Funktion nicht funktionieren.

Dein erster Eintrag hat ausserdem den Wert "0" - daher muss natürlich auch dieser abgefragt werden.

Probier mal folgendes:
HTML:
<select class="menu" name="temp_bezug_id" onchange="make_menu(); dis(this, '0')">
<option value="0">Hauptkategorie</option>
<option value="1">Unterkategorie</option>
</select>"
HTML:
<input name="frontend" id="frontend" type="checkbox" value="yes">
HTML:
function dis(obj, val) {
    document.getElementById("frontend").disabled = obj.value != val;
}

- Tag- und Attributnamen sollten klein geschrieben werden (ab XHTML 1.0 sogar Pflicht)

- Attributwerte müssen in Anführungszeichen gesetzt werden

- Bei dieser Methode muss eine id für die Checkbox vergeben werden

- Funktionsaufrufe in Handlern müssen durch ein Semikolon getrennt werden

Gruß
.
 

Neue Beiträge

Zurück