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

如何在DataTable中将targets:1列的值赋值给变量?

从DataTable隐藏列(targets:1)提取值存入变量

你的DataTable配置中,targets:1列处于隐藏状态,以下是几种实用的方法提取该列值存入变量,满足页面其他区域展示需求:

1. 获取选中行的目标列值

如果需要在用户点击表格行时提取对应行的targets:1列值,可通过行点击事件实现:

// 给表格行绑定点击事件
$('#lstRefacciones').on('click', 'tr', function() {
    // 获取当前行的DataTable实例对象
    const row = tableRefacciones.row(this);
    // 提取targets:1列的值(DataTable列索引从0开始,targets:1对应索引1)
    const targetValue = row.data()[1];
    // 存入变量,可直接用于页面展示
    console.log(targetValue); // 测试输出
    // 示例:将值赋值给页面元素
    $('#displayElement').text(targetValue);
});

2. 获取所有行的目标列值

若需要收集所有行的targets:1列值到数组变量中,可借助columns().data()方法,建议在数据加载完成后执行:

tableRefacciones = $('#lstRefacciones').DataTable({
    dom: 'Bfrtip',
    ajax: {
        url: 'almacenes/salidas_caja_detalle.ajax.php',
        dataSrc: ""
    },
    columnDefs: [
        {
            targets: 1,
            visible: false
        },
        {
            targets: 3,
            visible: true,
            render: $.fn.dataTable.render.number(',', '.', 2, '')
        },
        {
            targets: 4,
            visible: false,
        }
    ],
    // 数据加载完成后的回调函数
    initComplete: function() {
        // 获取索引1列的所有数据并转为数组
        const allTargetValues = tableRefacciones.column(1).data().toArray();
        // allTargetValues即为所有行的targets:1列值集合
        console.log(allTargetValues);
        // 后续可根据需求处理该数组(比如批量展示)
    }
});

关键注意点

  • DataTable的列索引从0开始计数,targets:1对应的是索引为1的列,调用方法时需匹配正确索引。
  • 由于你的表格是AJAX异步加载数据,必须确保在数据加载完成后再提取值,initComplete回调或draw.dt事件都是可靠的执行时机。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:30:48