BootstrapTable是一款功能強(qiáng)大的表格插件,可以實(shí)現(xiàn)數(shù)據(jù)的展示和管理。其中子表json功能可以讓我們?cè)诒砀裰星短鬃颖砀瘢⑶铱梢院芊奖愕貙?duì)子表格進(jìn)行操作。
為了使用子表json功能,在表格數(shù)據(jù)中需要添加一個(gè)`detailView`屬性,并且將該屬性值設(shè)置為true,代碼如下所示:
').find('table').bootstrapTable({
data: subTableData
});
}
});
});在上述代碼中,`detailFormatter`方法用于返回子表格的HTML代碼,這里我們遍歷了`subTable`數(shù)組,依次拼接了每個(gè)對(duì)象的`subject`和`score`屬性。在`onExpandRow`方法中,則是將子表格數(shù)據(jù)渲染到HTML中。
最后,在頁面中添加一個(gè)ID為`table`的table元素,即可使用以上代碼展示帶有子表格json的BootstrapTable表格。
var data = [ { "id": 1, "name": "Alice", "age": 25, "detailView": true, "subTable": [ { "id": 1, "subject": "Math", "score": 88 }, { "id": 2, "subject": "English", "score": 90 } ] }, { "id": 2, "name": "Bob", "age": 27, "detailView": true, "subTable": [ { "id": 1, "subject": "Math", "score": 76 }, { "id": 2, "subject": "English", "score": 82 } ] } ];上述數(shù)據(jù)中,每一個(gè)對(duì)象都包含一個(gè)`detailView`屬性,它的值為true,表示該對(duì)象需要展示子表格。而`subTable`屬性則是它的子表格數(shù)據(jù)。 為了在表格中嵌套子表格,可以使用BootstrapTable的`detailFormatter`和`onExpandRow`方法,具體實(shí)現(xiàn)代碼如下:
$(function() { $('#table').bootstrapTable({ data: data, detailView: true, detailFormatter: function(index, row) { var html = []; $.each(row.subTable, function(key, value) { html.push('' + value.subject + ':' + value.score + '
'); }); return html.join(''); }, onExpandRow: function(index, row, $detail) { var subTableData = row.subTable; $detail.html('