Link to JSFiddleDynamic & Complex rowspan in HTML-Tabelle
Hier ist meine JSON-Format
{
"result": {
"buildname1": [{
"table1": ["xxx","yyy"]
}, {
"table2": ["xxx","yyy"]
}, {
"table3": ["xxx","yyy"]
}],
"buildname2": [{
"table1": ["xxx","yyy"]
}, {
"table2": ["xxx","yyy"]
}, {
"table3": ["xxx","yyy"]
}]
},
"Build sets": "yyy",
"destinationPath": "xxx",
"status": 1
}
Dies ist die Funktion, die ich verwende, um dynamisch die Tabelle zu erstellen.
function generateTable(data){ //data is the parsed JSON Object from an ajax request
$("#test-table tbody").empty();//Empty the table first
if(data.result != null){
$.each(data.result,function(key,value){
var buildName ="<tr><td rowspan='"+value.length+"'>"+key+"<span class='cyan darken-1 white-text badge'>"+value.length+" base tables</span></td>";
var baseTable ="";
for(i=0;i<value.length;i++){
if(i == 0){
for(var k in value[0]){
baseTable ="<td rowspan='"+value[0][k].length+"'>"+k+"</td></tr>";
}
}
else{
for(var key in value[i]){
baseTable = baseTable + "<tr><td rowspan='"+value[i][key].length+"'>"+key+"</td></tr>";
}
}
}
$("#test-table").append(buildName + baseTable);
});
}
}
Hier ist, was ich
HTML
<table id="test-table" class="bordered responsive-table">
<thead>
<tr>
<th>Build Name</th><th>Base Table</th><th>Query List</th>
</tr>
</thead>
</table>
Frage zu erreichen versuchen:
Ich habe erfolgreich die ersten beiden Spalten (wenn auch etwas hässlich, dachte ich kann es später verfeinern), ich stecke bei der dritten Spalte fest. Der Code, den ich gepostet habe, erzeugt die ersten beiden Spalten korrekt, aber die Logik für die rowspan innerhalb der rowspan (dritte Spalte) scheint mir zu entgehen. Bitte führen Sie mich.
Haben Sie ein Problem damit haben? Wenn ja, geben Sie bitte Details des Problems an. Im Moment gibt es keine Frage –
@RoryMcCrossan tut mir leid. Ich postete die Frage zu früh, ohne es vorher richtig zu überprüfen –
Es wäre auch nützlich, Ihre HTML zu haben, auch wenn wir es in diesem Fall erraten können, bitte nehmen Sie die Angewohnheit, es in Ihrer Frage oder in einem Codepen/jsfiddle – RDardelet