checkboxen mit unterschiedlichen namen im formular selektieren

matthoz

Mitglied
Ist es möglich mehrere Checkboxen in einem Formular, mithilfe eines klicks auf eine checkbox zu selektieren, wenn die anderen checkboxen unterschiedliche namen haben?

bsp:
HTML:
<form name="formular" action="...">
<input type='checkbox'  name='t2' value="312">
<input type='checkbox'  name='t1' value="12"> 
<input type='checkbox'  name='all' value="all">
</form>

mit einem klick auf checkbox all, sollen dann t2 und t1 selektiert werden. wie geht das? kann mir da einer helfen?

danke!
 
Hi,

gruppiere die Checkboxen, die markiert werden sollen in einem Element mit einer ID. Über ein
Script durchläufst du alle Kindknoten dieses Elementes und markierst bzw. demarkierst die Boxen.
HTML:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />

<script type="text/javascript">
  <!--
function selectGroup(objCheck, strID){
  var arrChilds = document.getElementById(strID).childNodes;
  var blnCheck = objCheck.checked;

  for(var i=0; i<arrChilds.length; i++){
    if(arrChilds[i].type == "checkbox"){
      arrChilds[i].checked = (blnCheck)? true : false;
    }
  }
}
 //-->
</script>

</head>
<body>
  <form action="" method="post">
    <fieldset id="group_1">
      <legend>
        Erste Gruppe
        (alle markieren <input type="checkbox" name="all" value="all" onclick="selectGroup(this, 'group_1');" />)</legend>
      <input type="checkbox"  name="t2" value="312" /><label>first</label><br />
      <input type="checkbox"  name="t1" value="12" /><label>second</label><br />
    </fieldset>
  </form>
</body>
</html>
Die Funktion selectGroup erwartet als zweiten Parameter die ID des Elementes, welches
die Gruppe Checkboxen enthält.

Vielleicht hilft dir das weiter.

Ciao
Quaese
 
Zuletzt bearbeitet:
hallo!

Gutes Srcipt, nutze es auch schon.
Aber was ist, wenn die inputs weiter in DIVs verschachtelt sind. Ist es dann auch möglich
auf die Elemente zu zugreifen?

In meinem Code würde das dann etwa so aussehen:
Code:
<form action="" method="post">
    <fieldset id="group_1">
      <legend>
        Erste Gruppe
        (alle markieren <input type="checkbox" name="all" value="all" onclick="selectGroup(this, 'group_1');" />)</legend>
<div >
<div>
      <input type="checkbox"  name="t2" value="312" /><label>first</label><br />
   </div>
  <div>
      <input type="checkbox"  name="t1" value="12" /><label>second</label><br />
  </div>
 </div>
    </fieldset>
  </form>
 
Hi,

sollte möglich sein. Versuch mal mit der Methode getElementsByTagName auf alle input-Elemente
innerhalb des fieldsets zuzugreifen.
Code:
function selectGroup(objCheck, strID){
  var arrChilds = document.getElementById(strID).getElementsByTagName("input");
  var blnCheck = objCheck.checked;

  for(var i=0; i<arrChilds.length; i++){
    if(arrChilds[i].type == "checkbox"){
      arrChilds[i].checked = (blnCheck)? true : false;
    }
  }
}
Ciao
Quaese
 

Neue Beiträge

Zurück