2016-05-10 19 views
0

Wie könnte ich eine dynamische Tabelle erstellen, wenn die Anzahl der Zeilen (Anzahl der <tr> Tags) und die Anzahl der Spalten (Anzahl der <td> Tags) vom Benutzer eingegeben werden?jQuery benutzerdefinierte dynamische Tabelle

Ich muss auch sicherstellen, dass jedes <td> Tag eine eindeutige ID hat.

HTML:

Ich habe ein <div id=tabel> ... </div> in meinem HTML-Code, wo ich diese dynamische Tabelle einfügen muß.

Javascript:

var rows = content.rows, colums = content.columns, size = colums * rows, i; 
$("tabel").append("<table>"); 

for (i = 0; i < size; i += 1) { 

// make table with dynamic <tr> and <td> 

} 

Pseudocode oder Code-Schnipsel, würde mir sehr helfen!

+1

'für (; r Teemu

Antwort

1

Sie benötigen eine verschachtelte For-Schleife. Loop die Reihen dann in jeder Zeile die Spalten Schleife:

https://jsfiddle.net/g80hzjgn/2/

var rows, cols, domRow, domCol, 
    table = $('#table'), 
    cellId = 0; 

jQuery('#submit').click(function(){ 
    table.empty(); 
    rows = parseInt($('#row-input').val()); 
    cols = parseInt($('#col-input').val()); 

    for(var i = 0; i < rows; i++){ 
    domRow = $('<tr/>'); 
    for(var x = 0; x < cols; x++){ 
     domCol = $('<td/>',{ 
     'id': "cell-" + cellId++, 
     'text': 'cell' 
     }); 
     domRow.append(domCol); 
    } 
    table.append(domRow); 
    } 
}); 
+0

Großartig! Aber ich möchte jQuery-Selektoren verwenden, anstatt es auf Ihre Weise zu tun. @Matt Coady –

+0

Aktualisiert in jQuery –

+0

Super! Eine letzte Frage: Was ist, wenn ich Bilder in den Tag einfügen möchte? Bild mit muss zu Zelle-0 hinzugefügt werden und so weiter ... Wenn ich dies in einer anderen Funktion tun möchte (damit ich sie mischen könnte), wie würde ich dieses Problem angehen? @Matt Coady –