【datatable】给单元格添加事件

本文介绍如何在使用Datatable时为表格的特定列(如comments列)添加双击事件,以实现为每个单元格添加注释的功能。通过设置createCell属性并利用回调函数,可以获取单元格DOM元素及对应行信息,从而实现个性化的注释添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个需求,给一个用datatable做的表格的某一列添加增加注释的功能,demo如下:

我需要给comments那一列的每一个单元格添加双击事件,用来实现添加注释的功能——假如我要给Mary 添加“bad girl”的 comments,jerry的comments还得是good boy,不能跟着一起变形了对吧。

搜索了一下找到了办法:使用createCell属性。

demo code如下(我没有把添加comments的功能都做完,不过只要能获取到单个单元格的dom元素和对应行的相关信息,其他都是力气活了)

<table class="table">
    <thead>
    <tr>
        <th>name</th>
        <th>age</th>
        <th>grade</th>
        <th>comments</th>
    </tr>
    </thead>
    <tbody>
    </tbody>
</table>
<script type="text/javascript">
    var data = [
    {
    'name': 'jerry',
    'age': 12,
    'grade': 90,
    'comments':'good boy'},
    {
    'name': 'mary',
    'age': 12,
    'grade': 80,
    'comments':'good girl'},


    ]
    $('table').DataTable({
    data:data,
    columns: [
    {'data':'name'},
    {'data':'age'},
    {'data':'grade'},
    {'data':'comments',
        'createdCell': function(nTd, sData, oData, iRow, iCol){
            $(nTd).dblclick(
                function(){
                    alert('aha!');
                    console.log(nTd, sData, oData, iRow, iCol);
                }
            );
            $(nTd).attr('title','double click to edit comments');
        }
    },
    ]

    });

</script>

结果:

这里可以看出createdCell回调函数的几个参数都是什么:

nTd:目标单元格dom 元素

 sData:当前单元格返回的data,也就是'data':'comments'对应的数据

oData:当前行的数据

iRow:当前行index

 iCol:当前列index

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值