jquery数据表添加额外的列

时间:2014-03-26 05:51:10

标签: javascript jquery jquery-datatables

我是jquery和javascript的新手。目前Iam使用jquery数据表并且需要动态地向我的数据表添加复选框列。我在浏览,发现此链接很有用。但是,下面这个帖子中给出的解决方案在末尾添加了额外的列。但我需要复选框列作为我的第一列。请参阅下面的链接,其中包含我目前正在使用的一个黑客,以添加"" ao数组中的每一行。

Link to related query

请建议我一个更好的解决方案来解决我的问题。我不希望服务器在响应中发送额外的列。

1 个答案:

答案 0 :(得分:3)

我假设你正在使用sAjaxSource从服务器获取数据。如果您不想发送额外的列,则可以手动将数据进一步移动一列,但您仍需要在html表中添加一列。像这样:

假设您有一个json格式如下:

{
    "aaData":
    [
        [
            "1",
            "Alice"
        ],
        [
            "2",
            "Bob"
        ]
    ]
}

你有一个包含3行的表,第一个为复选框保留:

<table>
    <thead>
        <tr>
            <th>Checkbox</th>
            <th>Id</th>
            <th>Name</th>
        </tr>
    </thead>
</table>

然后,在创建dataTable时,在aoColumns中,您必须手动调整每个数据的位置。默认情况下,DataTables只是通过数组索引,从0开始并将其分配给相应的列,所以让我们重新分配它们:

"aoColumns": [
        { "mData": null,
          "mRender": function(){
            return '<input type="checkbox"/>';
          }
        },
        { "mData": 0 },
        { "mData": 1 }
    ]

发送空记录以填充行只会让您避免手动分配mData