Bei einem onClick-Event soll andere RadioButton-Gruppe "enabled" werden

Fools

Mitglied
Hallo Allerseits!

Es schaut so aus, als würde ich im Moment selbst eine denkbar einfach Sache in JavaScript nicht alleine hinbekommen. Deshalb würde ich mich darüber freuen, wenn mir einer von Euch weiterhelfen könnte.

Folgender Code sei gegeben:

HTML:
<table>
	<tr>
<td>
<input type="radio" name="Group1" id="Group1:0" value="1" />RadioButton-Gruppe 1 - Button 1</td>
<td>
<input type="radio" name="Group1" id="Group1:1" value="2" />RadioButton-Gruppe 1 - Button 2</td>
<td>
<input type="radio" name="Group1" id="Group1:2" value="3" />RadioButton-Gruppe 1 - Button 3</td>
	</tr>
</table>


<table>
	<tr>
<td>
<input type="radio" name="Group2" id="Group2:0" value="1" disabled="disabled" />RadioButton-Gruppe 2 - Button 1<</td>
<td>
<input type="radio" name="Group2" id="Group2:1" value="2" disabled="disabled" />RadioButton-Gruppe 2 - Button 2</td>
<td>
<input type="radio" name="Group2" id="Group2:2" value="3" disabled="disabled" />RadioButton-Gruppe 2 - Button 3</td>
	</tr>
</table>

Nun wollte ich eigentlich erreichen, dass sobald der Anwender irgendeinen RadioButton der ersten RadioButton-Gruppe 1 anklickt, alle RadioButtons der RadioButton-Gruppe 2 aktiviert werden (also nicht mehr auf disabled) stehen.

Ich hab's leider mit einem onClick-Event-Befehl noch nicht hinbekommen. Muss aber auch dazu sagen, dass ich in JavaScript ein Anfänger bin.


Vielen Dank im Voraus.
 
Hi,

wenn ich dich richtig verstanden hast, suchst du sowas oder?

Javascript:
function enable(o) {
    if(document.getElementById(o).disabled == true) {
      document.getElementById(o).disabled = false;
    } else {
      document.getElementById(o).disabled = true;
    }
  }

Lg weedo
 
Nachträglich vielen Dank für den Denkanstoß.

Da es sich in meinem Fall um eine zusammengehörige Gruppe von RadioButton's handelt, ist zusätzlich eine for-Schleife notwendig.

Lösung:

Code:
onclick="disableGroupOfRBs(this.form, 'foo', false)"

Code:
/* Enable or disable a group of radio buttons */
function disableGroupOfRBs(formName, groupName, booleanDisabled)
{
	for (var i =0 ; i < formName.elements.length; i++)
	{
	    if (formName.elements[i].name == groupName)
	    {
	    	formName.elements[i].disabled = booleanDisabled;
	    }
	}
}
 
Zurück