javascript - 高级 JavaScript 源数据 - DataTables

标签 javascript jquery datatables

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/

相关文章:

c# - 在 asp.net C# 页面中提醒

javascript - 为什么将自调用 (IIFE) 代码放入外部 JS 文件时出错?

javascript - 将 jQuery 更改函数绑定(bind)到提交函数

javascript - 使用缩略图停止 Bootstrap 轮播中的自动滑动

jquery - DataTables 渲染自定义列

javascript - map.delete(key) 在 map.forEach 期间

javascript - 选择 javascript 数组

javascript - jQuery 在鼠标悬停在 php 上制作样式 css

javascript - dataTables - 如何使所有列在 'draw.dt' 上可排序

twitter-bootstrap-3 - DataTables.Net Bootstrap 3 分页缺少 First Last 按钮