DataTables - 列中定义的标题[]不生成表标题

时间:2016-02-25 15:49:23

标签: javascript knockout.js datatables

我正在使用KnockoutJS开发一个项目,我们通过Ajax调用将数据存储到ko.observableArray中。目前,我在HTML中有以下表格:

`<table id="gpa">
    <tbody data-bind="foreach: gpa">
        <tr>
            <td data-bind="text: LEVEL"></td>
            <td data-bind="text: GPA_TYPE"></td>
            <td data-bind="text: HOURS_ATTEMPTED"></td>
            <td data-bind="text: HOURS_EARNED"></td>
            <td data-bind="text: GPA"></td>
        </tr>
    </tbody>
</table>` 

我们通过DataTables和相关选项生成内容的JavaScript是:

var gpaTarget = {
    tableId: 'gpa',
    options: {
        paging: false,
        ordering: false,
        info: false,
        searching: false,
        processing: true,
        autoWidth: true
    },
    columns: [
        { title: 'Level', data: 'LEVEL' },
        { title: 'GPA Type', data: 'GPA_TYPE' },
        { title: 'Hours Attempted', data: 'HOURS_ATTEMPTED' },
        { title: 'Hours Earned', data: 'HOURS_EARNED' },
        { title: 'GPA', data: 'GPA' },
    ]
}

 //Add the DT target for Gpa data
    dataTableTargets.push(gpaTarget);



//Initialize datatables for the appropriate DOM elements
    if (dataTableTargets.length !== 0) {
        $(document).ready(function () {

            dataTableTargets.forEach(function (target) {
                var table = target.tableId;
                var options = target.options;
                $('#' + table).DataTable(options);
            });

理想情况下,DataTables.net网站对Column.title功能如何工作的描述的想法是,使用<thead>部分,每列的title属性应呈现一个简单的列标题(请参阅{{3作为参考。)

但是,除非我在HTML中明确声明它们,否则我没有列标题。由于他们的页面显示<thead>元素可能不存在,或者columns.title选项可以覆盖现有的<thead>内容,因此我不知道为什么这不能按预期工作。

有没有人能够深入了解我在这种情况下可能做错了什么?非常感谢任何指导。

0 个答案:

没有答案