DataTables 选中行数据属性

7
我已经成功地设置了datatables,并使用了select扩展。当有人使用“报告”并加载另一页时,我有以下代码可以将表格中的某些单元格内容传递给报告。这个很好用,但是,我需要能够传递每个的data-element而不是行数据...
这是我的当前代码:
var table = $('#table_search_project').DataTable();

//then re-run the code to get the selected rows
var id_list = $.map(table.rows('.selected').data(), function (item) {
    return item[1]
});

因此,您可以看到,我曾经使用item[1]进行返回,但我真的想要能够获取<tr>对象,以便我可以检索data-something-id属性(但我不想显示它-因此出现了问题)

1个回答

17

我解决了它。太急于在SO上提问了!

我用了这个代替:

var id_list = $.map(table.rows('.selected').nodes(), function (item) {
    return $(item).data("entity-id");
});

nodes()集合将<tr>元素发送回我,而不是数据。正是我想要的。在这里找到了信息:

https://datatables.net/reference/api/row().node()


太棒了,非常有用。有时候,要找到如何使用DT的相当复杂的数据模型,如nodse()、node()、$(this)、data()等,是相当棘手的。这正是正确的组合! - tim
尝试过这个,但最后不得不将最后一行更改为目标属性以使其正常工作,返回 $(item).attr("data-id")。仍然非常有用。 - Neel
.data()自jQuery 1.2.3版本以来就存在了 - 您正在运行哪个版本? - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接