Zur Navigation

Alle Checkboxen markieren [2]

11 MichaelD

Hallo liebes Forum,
hab dieses Forum per Google gefunden und dachte mir sofort, mich hier zu registrieren. Ich verwende als Forum-Software die vBulletin Software und habe in etwa das gleiche Problem wie mein Vorredner.

Markierte Checkboxen
Ich habe bei mir im Template 'newattachment' die Option der Checkboxen eingebaut, da ich gerne bei größerem Upload sämtliche Einträge mit einmal gelöscht haben möchte. Soweit funktioniert es auch, aber...

Sind bei mir alle Checkboxen markiert und will diese komplett Löschen, so wird immer nur der 1. selektierte Eintrag per Checkbox gelöscht.


Template 'newattachmentbit'
Dieses Template beinhaltet nur die jeweiligen Zeilen der Tabelle und wird vom Template 'newattachment' aufgerufen!

<input type="checkbox" name="delete[$attach[attachmentid]]" value="yes" />

Template 'newattachment'
Dies ist das Haupt-Template und für den kompletten Aufbau zuständig!

<!-- Checkbox 'Mark All' -->
<input name="allbox" type="checkbox" value="Check All" title="$vbphrase[check_uncheck_all]" onclick="checkall(this.form);"  />
<!-- / Checkbox 'Mark All' -->
...
<!--  'Delete Button' Check Boxes -->
<input type="submit" class="button" value="$vbphrase[delete_selected]" />
<!-- / 'Delete Button' Check Boxes -->



Nun weiß ich leider nicht, inwieweit Ihr noch weitere Informationen benötigt. Aber dies sind die wichtigesten Zeilen, die ich eingebaut habe. Könnt Ihr mir da irgendwie weiterhelfen? Hab da bereits gestern den ganzen Tag verbracht und das ganze Internet durchsucht, aber leider ohne einen Erfolg. Könnt Ihr mir weiterhelfen?

Michael

08.06.2007 17:23 | geändert: 08.06.2007 17:31

12 Jörg

Hallo MichaelID,

wie ist denn die JavaScript-Funktion checkall() definiert?

08.06.2007 18:02

13 MichaelD

Zitat von Jörg
Hallo MichaelID,
wie ist denn die JavaScript-Funktion checkall() definiert?
Hi Jörg,
man Du bist aber schnell :) Ahem, habt Ihr ein PN System? Sprich 'Private Nachrichten'? Du weißt bestimmt, warum?
Micha

08.06.2007 18:12 | geändert: 08.06.2007 18:13

14 Jörg

PN gibt es hier nicht, aber in meinem Profil (Klick auf meinem Namen) steht eine Emailadresse, an die du schreben kannst

08.06.2007 18:31 | geändert: 08.06.2007 18:32

15 MichaelD

Zitat von Jörg
PN gibt es hier nicht, aber in meinem Profil (Klick auf meinem Namen) steht eine Emailadresse, an die du schreben kannst
Bin gerade dabei. Vorerst allerherzlichsten Dank, Jörg! Ich hoffe, wir beide bleiben in Kontakt :) -Micha

08.06.2007 18:39 | geändert: 08.06.2007 18:39

16 andyd (Gast)

Hallo....ist es möglich dabei gleichzeitig auch die backgroundcolor der Tabellenzeile zu ändern....

Also ich habe eine Tabelle wo in jeder zeile eine checkbox ist.....und wenn ich jetzt auf die alle markieren checkbox klicke soll sich die farbe der tabellenzeilen in der die checkbox steht verändern....

ich hoffe ich habs ausreichend beschrieben....vielen dank für jeden tip!!!

mfg
andy

21.10.2008 09:49

17 Jörg

Dazu musst du die Funktion so entsprechend erweitern, dass je nach Wert für checked die Tabelle eine andere Hintergrundfarbe erhält, also z.B.:

<script type="text/javascript">
function checkedall(checked)
{
  for (var i = 2; i < document.forms[0].elements.length; i++) {
    document.forms[0].elements[i].checked = checked;
  }
  if (checked == true) {
      document.getElementById("vokabeln").style.backgroundColor = "#ff0";
  } else {
      document.getElementById("vokabeln").style.backgroundColor = "#fff";
  }
}
</script>

Im HTML-Quelltext muss die betreffende Tabelle mit der obengenannten ID ausgezeichnet sein:

<table id="vokabeln">

21.10.2008 10:33 | geändert: 21.10.2008 10:34

18 andyd (Gast)

Hallo danke für deine Antwort...aber irgendwie markiert es da bei mir nur den ersten datensatz...

hier mal mein code:

function test(state){
    var checkboxes=document.getElementsByName('cb_auswahl[]');
    for(var n=0;n<checkboxes.length;n++){
        checkboxes[n].checked=state;
    }
    if (state == true) {
      document.getElementById("auswahl").style.backgroundColor = "#FDDB95";
  } else {
      document.getElementById("auswahl").style.backgroundColor = "#FFFFFF";
  }
}

21.10.2008 14:51

19 Jörg

Ich kann da keinen Fehler erkennen. Wie schaut denn das Formular aus?

21.10.2008 15:23

20 andyd (Gast)

könnte es vlt an dem aufruf der funktion liegn?

echo "<tr><td colspan='0'><img src='arrow_ltr.png' alt='' border='0' width='' height=''><input type='checkbox' name='checkall' value='1' onclick='test(this.checked)' />alle markieren</td></tr> ";

21.10.2008 15:27