default way使用 javascript 源数据初始化 dataTables 的方法是 data option据我所知,它接受数组的数组或对象的数组。
var arrayDataSet = [
['Trident', 'Internet Explorer 11', '11'],
['Blink', 'Chrome 35', '35'],
...
];
var objectDataSet = [
{
engine: 'Trident',
browser: 'Internet Explorer 11',
version: '11'
},
{
engine: 'Blink',
browser: 'Chrome 35',
version: '35'
}
...
];
我想使用 createdRow选项,并在每一行添加例如 id 和 url。我想我想用这样的数据进行初始化:
var otherDataSet = [
{
id: 'ie11',
url: 'http://windows.microsoft.com/en-us/internet-explorer/download-ie',
data: {
engine: 'Trident',
browser: 'Internet Explorer 11',
version: '11'
}
},
{
id: 'chr35',
url: 'https://www.google.com/chrome/browser/',
data: {
engine: 'Blink',
browser: 'Chrome 35',
version: '35'
}
}
];
可能吗?
最佳答案
是的,这是可以做到的。您需要在列配置对象中设置数据属性,以设置每列应使用其数据的位置。然后您可以在 createdRow
回调中引用任何其他字段。这是一个工作 fiddle :http://jsfiddle.net/V7bBg/2/
var otherDataSet = [
{
id: 'ie11',
url: 'http://windows.microsoft.com/en-us/internet-explorer/download-ie',
data: {
engine: 'Trident',
browser: 'Internet Explorer 11',
version: '11'
}
},
{
id: 'chr35',
url: 'https://www.google.com/chrome/browser/',
data: {
engine: 'Blink',
browser: 'Chrome 35',
version: '35'
}
}
];
$(document).ready(function() {
$('#example').dataTable( {
"data": otherDataSet,
//define the columns and set the data property for each column
"columns": [
{ "title": "Engine", "data": "data.engine" },
{ "title": "Browser", "data": "data.browser"},
{ "title": "Version", "data": "data.version"}
],
"createdRow": function ( row, data, index ) {
//adding id and url as attributes to the row
$(row).attr('id',data.id).attr('data-url',data.url);
}
} );
});
关于javascript - 高级 JavaScript 源数据 - DataTables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584769/