You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery Datatables在Ajax回调中获取同行单元格值设置行按钮属性

解决方案

你原代码的问题在于defaultContent是静态配置项,外层定义的firstName变量只会在初始化DataTable时计算一次,无法关联每行的动态数据,直接用DataTable提供的columns.render渲染回调即可实现需求,该回调可以拿到当前行的全量数据,直接取值注入按钮属性即可。

修改后的核心代码如下:

function successFunc(data) {
    $("#tblMyTable").DataTable({
        "info": true,
        "data": data.list,
        "responsive": true,
        "autoWidth": false,
        "bAutoWidth": false,
        "retrieve": true,
        columns: [
            { 'data': "ID" }, 
            { 'data': "First_Name" },
            { 'data': "Last_Name" },
            {
                'data': 'Edit',
                // 用render回调生成动态内容,row参数就是当前行的完整数据对象
                "render": function (data, type, row) {
                    return `<button type="button" data-name="${row.First_Name}" href="javascript:;">Edit</button>`
                }
            }
        ]
    });
}

如果后续需要获取按钮绑定的值,直接用jQuery的data()方法取值即可,示例点击事件写法:

$('#tblMyTable').on('click', 'button[data-name]', function () {
    const currentName = $(this).data('name');
    // 后续逻辑直接用currentName即可
})

内容的提问来源于stack exchange,提问作者Shane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:57:03