<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function activate_cb(objThis){
objThis.getElementsByTagName("input")[0].checked = (objThis.getElementsByTagName("input")[0].checked)? false : true;
fnHandler(objThis, objThis.getElementsByTagName("input")[0].checked);
}
function myTester(objEvt){
if(window.event){
window.event.cancelBubble = true;
}else{
objEvt.stopPropagation();
}
var blnChecked = (window.event)? window.event.srcElement.checked : objEvt.target.checked
fnHandler((window.event)?window.event.srcElement.parentNode:objEvt.target.parentNode, blnChecked);
}
function fnHandler(objDiv, blnChecked){
// ToDo: Was für beide Funktionen erledigt werden soll
// Beispiel: Wurden alle CBs deaktiviert?
var blnCheck = true;
var arrCB = document.getElementsByName("category[]");
for(var i=0; i<arrCB.length; i++){
if(arrCB[i].checked == true){
blnCheck = false;
break;
}
}
// Beispiel: Ausgabe des Tagnamen (sollte DIV sein) und die Nachricht, ob alle CBs deaktiviert wurden
alert("Übergeordnetes Element: " + objDiv.tagName + "\nDie aktuelle Checkbox wurde gesetzt: "+blnChecked+"\nEs wurden " + ((blnCheck)?"":"nicht ") + "alle Checkboxen deaktiviert");
}
//-->
</script>
</head>
<body>
<div onclick='activate_cb(this);'>
<input type='checkbox' name='category[]' onclick="myTester(event);" value='cat'>
[% $category %]
</div>
<div onclick='activate_cb(this);'>
<input type='checkbox' name='category[]' onclick="myTester(event);" value='cat'>
[% $category %]
</div>
<div onclick='activate_cb(this);'>
<input type='checkbox' name='category[]' onclick="myTester(event);" value='cat'>
[% $category %]
</div>
</body>
</html>