Javascript:
function LinkFormatter(value, row, index) {
return "<a href='"+row.url+"'>"+value+"</a>";
}
HTML:
<th data-field="snum" data-sortable="true" data-formatter="LinkFormatter" >LINK</th>
<th data-sortable="true">DATA</th>
JSON:
{
data: [
[
"https://www.stackoverflow.com",
"Stackoverflow"
]
]
}
对于这种组合,我只在表的第一列中获得一个条目,该条目表示未定义,并且还链接到/ undefined。但是,我只想要一列显示Stackoverflow的列,它是Stackoverflow的URL。
我想念什么?
答案 0 :(得分:4)
您将必须更改JSON。
应该是这样的:
[
{
"url": "https://www.stackoverflow.com",
"nice_name": "Stackoverflow"
},
{
"url": "https://www.facebook.com",
"nice_name": "Facebook"
}
];
var data = [{
"url": "https://www.stackoverflow.com",
"nice_name": "Stackoverflow"
}, {
"url": "https://www.facebook.com",
"nice_name": "Facebook"
}];
function linkFormatter(value, row) {
return "<a href='" + row.url + "'>" + row.nice_name + "</a>";
}
$(function() {
$('#table').bootstrapTable({
data: data
});
});
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script src="https://unpkg.com/bootstrap-table@1.14.2/dist/bootstrap-table.min.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.14.2/dist/bootstrap-table.min.css">
<table data-toggle="#table" id="table">
<thead>
<tr>
<th data-field="url" data-formatter="linkFormatter" data-sortable="true">Link</th>
</tr>
</thead>
</table>
Example on bootstrap-table site,其中通过数据字段初始化表时需要相同的JSON格式。示例:
<table id="table"
data-toggle="table"
data-height="460"
data-url="../json/data1.json">
<thead>