Matrix
Für mein künftigen Webprojekt habe ich einen jQuery UI Plugin zur Benutzerverwaltung entwickelt.
Beispiel für html:
<div id="matrix" title="Benutzer und Gruppen">
</div>
Beispiel für script:
$( "#matrix" ).matrix( {
cols: {0:"root",1000:"vitali",2000:"guest"},
rows: {100:"admins",200:"users",300:"guests"},
fillCell: function( col,row ){
return $( '<input>' )
.attr( {
type: 'checkbox',
userid: col,
groupid: row
} );
}
} )
Das Ergebnis:
Noch ein Beispiel
Spezifikationen:
Optionen:
- cols (json, default {}) Erforderlich
- Format {col_ID1:"label 1", col_ID2:"label 2" [,col_IDn:"label n"]}
- rows (json, default {}) Erforderlich
- Format {row_ID1:"label 1", row_ID2:"label 2" [,row_IDn:"label n"]}
- fillCell (callback function) Erforderlich
- Diese Funktion wird für jede Tabellenzelle aufgerufen und bekommt zwei Argumente (col, row). Sie muss ein Objekt zurückgeben. Dieser Objekt wird als Argument für $('<td>').append() verwendet!
- title (string, default '')
- Titeltext
- wenn kein Titel vorhanden, wird der title Attribut des Eltern-Elements verwendet. Wenn auch nicht vorhanden, wird matrix ohne Titelleiste angezeigt.
- matrixClass (string, default '')
- bei Bedarf kann zusätzliches class angegeben werden.
- width (string, default 'calculate')
- Gibt die Breite für die Matrix an.
- Ist 'calculate' angegeben (default) so wird die Breite ausgerechnet: Anzahl der Elemente in cols + 1 multipliziert mit calculateWidth (default 5). Als Einheit wird calculateUnit (default 'em') genommen.
- calculateWidth (number, default 5)
- Wird verwendet nur wenn width = 'calculate'
- calculateUnit (string, default 'em')
- Wird verwendet nur wenn width = 'calculate'
- rtl (boolean, default false)
- Aktiviert rtl-Unterstützung.
Methoden:
- destroy()
- Schlißt das Objekt und entfernt ihn aus dem Eltern-Element
Download
matrix.zip