Javascript 如何使用动态生成的行更改表(添加rowspan/colspan)?

Javascript 如何使用动态生成的行更改表(添加rowspan/colspan)?,javascript,jquery,html-table,rows,Javascript,Jquery,Html Table,Rows,我有一个从数据库中的数据自动创建的表 var rows = ""; rows += "<tr class='row_primary'>"; rows += "<td>COL 1</td>"; rows += "<td>COL 2</td>"; rows += "<td>COL 3</td>"; rows += "</tr>";

我有一个从数据库中的数据自动创建的表

var rows  = "";
    rows += "<tr class='row_primary'>";
        rows += "<td>COL 1</td>";
        rows += "<td>COL 2</td>";
        rows += "<td>COL 3</td>";
    rows += "</tr>";



    $.each(data.db_values, function(i, results){     //This is from database with n rows depend on n results
        rows += "<tr class='row_secondary'>";
            rows += "<td>COL 1</td>";
            rows += "<td>results.ID</td>";
            rows += "<td>COL 3</td>";
        rows += "</tr>";
    });

 $('#t_barang tbody').append(rows);
预期结果:

       COL2   
       DATA1  
  COL1 DATA2 COL3
       DATA3  
       DATA4

我假设您从第一次加载windows时就已经知道数据库数据
length
。因此,在将动态数据附加到
表之前,您可以执行
行span
,因此在js中它将如下所示:

我估计您的数据库中提供了5个数据:

database = [
        {id: 1},
        {id: 2},
        {id: 3},
        {id: 4},
        {id: 5},
    ];
然后您的行将第一次声明如下:

var rows  = "";
rows += "<tr class='row_primary'>";
    rows += "<td rowspan="+(database.length+1)+">COL 1</td>";
    rows += "<td>COL 2</td>";
    rows += "<td rowspan="+(database.length+1)+">COL 3</td>";
rows += "</tr>";
 $.each(database, function(i, results){ 
    rows += "<tr class='row_secondary'>";
        // rows += "<td>COL 1</td>";
        rows += "<td>"+results.id+"</td>";
        // rows += "<td>COL 3</td>";
    rows += "</tr>";
});
var行=”;
行+=“”;
行+=“列1”;
行+=“第2列”;
行+=“第3列”;
行+=“”;
这里的行跨度是基于数据库长度+1(对于表头)初始化的。然后您可以像这样循环数据:

var rows  = "";
rows += "<tr class='row_primary'>";
    rows += "<td rowspan="+(database.length+1)+">COL 1</td>";
    rows += "<td>COL 2</td>";
    rows += "<td rowspan="+(database.length+1)+">COL 3</td>";
rows += "</tr>";
 $.each(database, function(i, results){ 
    rows += "<tr class='row_secondary'>";
        // rows += "<td>COL 1</td>";
        rows += "<td>"+results.id+"</td>";
        // rows += "<td>COL 3</td>";
    rows += "</tr>";
});
$。每个(数据库、函数(i、结果){
行+=“”;
//行+=“列1”;
行+=“”+结果。id+“”;
//行+=“第3列”;
行+=“”;
});
由于您已经初始化了
行span
,因此不需要将
列1
列2
添加到
,因此我对其进行了注释

记录在案,我已经测试了这段代码,效果很好,所以让我知道你需要更多的东西