Archivlink: javarea.de Forum > JavaScript > Checkbox mit Array, alle Auswählen
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Checkbox mit Array, alle Auswählen

Pages: [1]

geschrieben von anaumann2005 am 30.08.2006 - 18:06
Stehe gerade etwas auf dem Schlauch wie ich das Script umbauen muss, damit es auch mit den Array Checkboxen klappt.

Wie könnte ich das lösen?

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 

<?
<script type="text/javascript" language="JavaScript">
function 
checkAll() {
    for (
0document.form.list.lengthi++) {
        
document.form.list[i].checked true;
    }
}

function 
checkNo() {
    for (
0document.form.list.lengthi++) {
        
document.form.list[i].checked false;
    }
}
</script>

<form name="form" action="" method="post">
<input type="checkbox" name="list[]" value="1">Mit Array<br>
<input type="checkbox" name="list[]" value="2">Mit Array<br>
<input type="checkbox" name="list" value="3">Ohne Array<br>
<input type="checkbox" name="list" value="4">Ohne Array<br>
<input type="checkbox" name="list" value="5">Ohne Array<br>
</form>

<a href="#" onClick="checkAll()">alle</a> <a href="#" onClick="checkNo()">keine</a>
?>


geschrieben von Micha am 30.08.2006 - 18:17

geschrieben von anaumann2005 am 30.08.2006 - 23:14
ok, so ist schon mal einfacher ... mir geht es darum das ich die Variablen mit PHP in einem Array verarbeiten möchte und somit der checkbox name somit name="list[]" ist.
Nur klappt es dann wie zusehen bei den ersten 2 nicht. Es sollen dann alle umgestellt werden wenn die function entsprechend angepasst ist.


PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 

<?
<script type="text/javascript">
    function 
checkAll(switcher) {
        var 
cb document.fm.list;
        for (var 
i=0i<cb.lengthi++)
            
cb[i].checked switcher;
    }
</script>

<form name="fm" action="" method="post">
<input type="checkbox" name="list[]" value="1">Mit Array<br>
<input type="checkbox" name="list[]" value="2">Mit Array<br>
<input type="checkbox" name="list" value="3">Ohne Array<br>
<input type="checkbox" name="list" value="4">Ohne Array<br>
<input type="checkbox" name="list" value="5">Ohne Array<br>
</form>
<a href="#" onClick="checkAll(true)">alle</a> <a href="#" onClick="checkAll(false)">keine</a>
?>


geschrieben von Micha am 30.08.2006 - 23:23
Hi,

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
function checkAll(switcher) {
        var cb = document.getElementsByTagName("input");
        for (var i=0; i<cb.length; i++){
            if (cb[i].type.indexOf(list) != -1)
              cb[i].checked = switcher;
    }


Micha

geschrieben von anaumann2005 am 31.08.2006 - 00:38

geschrieben von Micha am 31.08.2006 - 08:16
Hi,
ja, natürlich, das war mein Fehler, ich wollte auf den Namen aus und nicht den Type. Wenn Du den Typ direkt abfragst, benötigst Du keine Methode dafür. Es reicht:
HTML-Quelltext
1: 
cb[i].type == "checkbox"


Das müsste etwas schneller sein als die String Methode indexOf() - Du wirst den Unterschied jedoch nicht mehrken, nehme ich an...

Dein zweites Problem konnte ich nicht nachvollziehen.
Du möchtest noch zwei Checkboxen (gelesen/ungelesen) drin haben? Dafür würde ich Radiobutton nehmen, da es sich um gegenteilige Angaben handelt.

Sollte ich Dich mißverstanden haben, noch mal melden.

Micha

geschrieben von anaumann2005 am 31.08.2006 - 21:13
super ...

hab die Erweiterung jetzt über die Class gemacht

if (cb[i].type == "checkbox" && cb[i].className == "ck")

klappt jetzt alles

geschrieben von Micha am 31.08.2006 - 21:16
Hi,

das ist schön!

LG Micha


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.