Checkboxen: Alle anwählen
TomKö
- javascript
!ollaH
War schon länger nicht mehr da. Schön, dass das Forum wieder läuft!
Ich habe folgendes Problem:
Ich möchte via JS mehrere Checkboxen gleichzeitig markieren, allerdings sind die checkboxen ein Array[]....
Folgendes Script sieht ganz gut aus, aber bei mir gehts natürlich nicht...
http://www.web-toolbox.net/webtoolbox/formulare/checkbox-alle.htm
<script type="text/javascript" language="JavaScript">
<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return " keine "; }
else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return " alle "; }
}
// End -->
</script>
im Body
<form name="myform" action="" method="post">
<input type="checkbox" name="list" value="1">Java
<input type="checkbox" name="list" value="2">JavaScript
<input type="checkbox" name="list" value="3">CSS
<input type="checkbox" name="list" value="4">HTML
<input type="checkbox" name="list" value="5">DHTML
<input type="button" value=" alle "
onClick="this.value=check(this.form.list)">
</form>
Meine Checkboxen haben nicht den Namen "list" sondern name="list[]" und das ist in JS auch ein Array....
Idden?
Ach ja, wozu braucht man eigentlich "Alles anwählen", wenn die übergebenen Variablen den gleichen Namen "list" (und nicht "list[]") haben? Da wird doch meines wissens nach immer nur die letzte übergebene Var verwendet.... Hä?
Greets TomKö
Hallo,
Meine Checkboxen haben nicht den Namen "list" sondern name="list[]" und das ist in JS auch ein Array....
Idden?
Hast du schon mal versucht, [ und ] mit \ zu maskieren?
Gruß
Alexander Brock
Hast du schon mal versucht, [ und ] mit \ zu maskieren?
Jop. Schon probiert.
So klappts auch mit dem Nachbarn......
<script type="text/javascript" language="JavaScript">
<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
setCheckboxes(field , true);
checkflag = "true";
document.Form.button1.value=" Auswahl entfernen ";
document.Form.button2.value=" Auswahl entfernen ";
return " Auswahl entfernen ";
}
if (checkflag == "true") {
setCheckboxes(field , false);
checkflag = "false";
document.Form.button1.value=" Alle auswählen ";
document.Form.button2.value=" Alle auswählen ";
return " Alle auswählen ";
}
}
function setCheckboxes(the_form, do_check)
{
var elts = (typeof(document.forms[the_form].elements['id[]']) != 'undefined')
? document.forms[the_form].elements['id[]']
: (typeof(document.forms[the_form].elements['id[]']) != 'undefined')
? document.forms[the_form].elements['id[]']
: document.forms[the_form].elements['id[]'];
var elts_cnt = (typeof(elts.length) != 'undefined')
? elts.length
: 0;
if (elts_cnt) {
for (var i = 0; i < elts_cnt; i++) {
elts[i].checked = do_check;
} // end for
} else {
elts.checked = do_check;
} // end if... else
return true;
} // end of the 'setCheckboxes()' function
// End -->
</script>
<form action="" name="Form" method="POST">
<input type="button" value=" Alle auswählen " name="button1" onclick="this.value=check('Form'); return false;">
<input type="checkbox" value="ABC" name="id[]">
<input type="checkbox" value="DEF" name="id[]">
<input type="checkbox" value="GHI" name="id[]">
<input type="button" value=" Alle auswählen " name="button2" onclick="this.value=check('Form'); return false;">
</form>
Das geht einfacher: http://home.arcor.de/struebig/computer/javascript/exp/faq/checkall.html
Struppi.