Link to JSFiddleDynamiczny & Complex rowspan w tabeli HTML
Oto moja formacie JSON
{
"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
}
Jest to funkcja, która używam do dynamicznego tworzenia tabeli.
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);
});
}
}
Oto co próbuję osiągnąć
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>
Pytanie:
pomyślnie utworzone dwie pierwsze kolumny (choć nieco brzydki, pomyślałem, że mogę go później poprawić), utknąłem w trzeciej kolumnie. Wysłany przeze mnie kod poprawnie tworzy dwie pierwsze kolumny, ale wydaje mi się, że logika podziału wierszy w obszarze wierszy (trzecia kolumna) wydaje mi się nieunikniona. Proszę, prowadź mnie.
Czy masz problem z tym? Jeśli tak, proszę podać szczegóły problemu. W tej chwili nie ma tu pytania –
@RoryMcCrossan przepraszam. Zadałem to pytanie zbyt wcześnie, bez wcześniejszego sprawdzenia go najpierw. –
Przydałby się również twój HTML, nawet jeśli możemy go zgadnąć w tym przypadku, prosimy o zwyczajowe umieszczanie go w swoim pytaniu lub w codepen/jsfiddle – RDardelet