Merge cells

by Daniel Brose

HTML

<link rel="stylesheet" href="https://rawgit.com/wenzhixin/bootstrap-table/master/src/bootstrap-table.css">
<script src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/bootstrap-table.js"></script>
<div class="main">
    <table id="table" data-toggle="table" data-height="200">
        <thead>
            <tr>
                <th data-field="id">NAME</th>
                <th data-field="name">VALUE</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>A</td>
                <td>1</td>
            </tr>
            <tr>
                <td>A</td>
                <td>2</td>
            </tr>
            <tr>
                <td>B</td>
                <td>1</td>
            </tr>
            <tr>
                <td>B</td>
                <td>2</td>
            </tr>
        </tbody>
    </table>
</div>

JavaScript

$(function () {
    var table = document.getElementById('table');
    var rowLength = table.rows.length;
    var count = 0;
    var row = table.rows[1].cells[0].innerHTML;
    var saveIndex = 0;
    
    console.log(rowLength, row);
    
    for (var i = 1; i < rowLength; i++) {        
        if (row === table.rows[i].cells[0].innerHTML) {
            console.log('yes, ' + i + ', ' + saveIndex + ', ' + count + ', ' + table.rows[i].cells[0].innerHTML  + ', ' + row);
            count++;
            
            if(i == rowLength - 1)
            {
                console.log('last entry, ' + i + ', ' + saveIndex + ', ' + count + ', ' + table.rows[i].cells[0].innerHTML  + ', ' + row);
            	mergeRows(saveIndex, count);
            }
                
        } else {
            mergeRows(saveIndex, count);
            
            row = table.rows[i].cells[0].innerHTML;
            saveIndex = i - 1;
            count = 1;
            
            console.log('no, ' + i + ', ' + saveIndex + ', ' + count + ', ' + table.rows[i].cells[0].innerHTML  + ', ' + row);
            /*
            */
        }
    }
});

function mergeRows(index, rowspan) {
    console.log('merging,', index + ',', rowspan);
    $('#table').bootstrapTable('mergeCells', {
        index: index,
        field: 'id',
        rowspan: rowspan
    });

}