Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Dezember

SELFHTML Forumsarchiv
Checkboxen Windows-Explorer-like mit Ctrl / Shift markieren?

Informationsseite
  1. Seite (JAVASCRIPT) Checkboxen Windows-Explorer-like mit Ctrl / Shift markieren? von Bambi, 30. 12. 2007, 12:23
nach unten

Checkboxen Windows-Explorer-like mit Ctrl / Shift markieren?

Die folgende Nachricht zum Thema stammt von: Bambi, 30. 12. 2007, 12:23

Hallo Ihr

Ich habe ein umfangreiches Formular, in welchem die Datensätze aus einer Datenbank tabellenförmig aufgelistet werden. Um einen oder mehrere Datensätze bearbeiten zu können, verfügt jede Zeile über eine Checkbox.

Ich hab schon über Javascript ermöglicht, dass ich über Buttons alle Checkboxen auswählen, die Auswahl löschen oder umkehren kann.

Nun wäre es für den Arbeitsfluss genial, wenn ich so Windows-Explorer-like mehrere aufeinander folgende Zeilen (bzw. Checkboxen) über die Shift-Taste auswählen könnte. Also: eine Checkbox aktivieren und dann mit gedrückter Shift-Taste eine Checkbox 10 Zeilen unterhalb markieren --> alle Checkboxen dazwischen werden ebenfalls selektiert.

Ist so was möglich mit Javascript? Könnt Ihr mir evtl. ein paar Tipps geben, wie ich das in Angriff nehmen könnte?

Hier mal meine bisherigen Javascript-Funktionen:

function checkAll(formname,fieldname)
{
 var checkboxes = document.forms["" + formname + ""].elements["" + fieldname + "[]"];

 for (var i=0;i<checkboxes.length;i++)
 {
  checkboxes[i].checked = true;
 }
}

function uncheckAll(formname,fieldname)
{
 var checkboxes = document.forms["" + formname + ""].elements["" + fieldname + "[]"];

 for (var i=0;i<checkboxes.length;i++)
 {
  checkboxes[i].checked = false;
 }
}

function changecheckAll(formname,fieldname)
{
 var checkboxes = document.forms["" + formname + ""].elements["" + fieldname + "[]"];

 for (var i=0;i<checkboxes.length;i++)
 {
  if (checkboxes[i].checked == true) { checkboxes[i].checked = false; }
  else if (checkboxes[i].checked == false) { checkboxes[i].checked = true; }
 }
}


Der Aufruf erfolgt dann über die folgenden Links:

<a href="#" onclick="checkAll('fuploadtab','read_id');">Alle ausw&auml;hlen</a>
<a href="#" onclick="uncheckAll('fuploadtab','read_id');">Auswahl l&ouml;schen</a>
<a href="#" onclick="changecheckAll('fuploadtab','read_id');">Auswahl umkehren</a>


Bin mal wieder für jeden Hinweis dankbar! :-)

Liebe Grüsse, Bambi

nach obennach unten

Checkboxen Windows-Explorer-like mit Ctrl / Shift markieren?

Die folgende Nachricht zum Thema stammt von: ChrisB, 30. 12. 2007, 12:34

Hi,

»» Nun wäre es für den Arbeitsfluss genial, wenn ich so Windows-Explorer-like mehrere aufeinander folgende Zeilen (bzw. Checkboxen) über die Shift-Taste auswählen könnte. Also: eine Checkbox aktivieren und dann mit gedrückter Shift-Taste eine Checkbox 10 Zeilen unterhalb markieren --> alle Checkboxen dazwischen werden ebenfalls selektiert.
»»
»» Ist so was möglich mit Javascript? Könnt Ihr mir evtl. ein paar Tipps geben, wie ich das in Angriff nehmen könnte?

Wie man gedrueckte Tasten in Erfahrung bringt, ist beim Event-Objekt beschrieben.

Und sich die "vorherige" Checkbox bei onClick oder onChange zu merken, sollte ja kein grosses Problem darstellen (aktuellen Zustand beachten).

Und dann von Startcheckbox bis Endcheckbox alle in einer Schleife abzugrasen, sollte auch nicht allzu kompliziert sein. Zur Not durchlaeuft man halt alle in Frage kommenden, und vergleicht jeweils die Referenzen.

MfG ChrisB

nach obennach unten

Checkboxen Windows-Explorer-like mit Ctrl / Shift markieren?

Die folgende Nachricht zum Thema stammt von: Bambi, 30. 12. 2007, 19:16

Hi ChrisB

Danke für die Gedankenanstösse! Ich werde morgen mal versuchen, das zu realisieren.

»» Und sich die "vorherige" Checkbox bei onClick oder onChange zu merken, sollte ja kein grosses Problem darstellen (aktuellen Zustand beachten).

Naja, für mich ist das erst mal schon ein mittelgrosses Problem, aber ich werde morgen mal googeln...

Nochmals vielen Dank und LG
Bambi

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Dezember

© 1998-2006 Seite Impressum, Software: Classic Forum