📅  最后修改于: 2023-12-03 15:02:09.504000             🧑  作者: Mango
当使用 jQuery Datatable 插件时,经常需要获取特定列的值。本文将介绍如何使用 Datatable 获取数组中的列值。
首先,我们需要初始化 Datatable。在初始化时,需要指定数据源 data
和列属性 columns
。
var data = [
{"name": "John", "age": 23, "city": "New York"},
{"name": "Tom", "age": 28, "city": "Los Angeles"},
{"name": "Lucy", "age": 21, "city": "Chicago"}
];
var columns = [
{data: "name", title: "Name"},
{data: "age", title: "Age"},
{data: "city", title: "City"}
];
$('#example').DataTable({
data: data,
columns: columns
});
现在,假设我们想获取第一列 Name
的值。我们可以使用 column().data()
方法来获取列数据。
var nameColumnData = $('#example').DataTable().column(0).data();
console.log(nameColumnData); // 输出 ["John", "Tom", "Lucy"]
如果我们需要获取多个列的值,可以使用 columns().data()
方法来获取所有列的数据。
var allColumnsData = $('#example').DataTable().columns().data();
console.log(allColumnsData); // 输出 [["John", "Tom", "Lucy"], [23, 28, 21], ["New York", "Los Angeles", "Chicago"]]
默认情况下,返回的数据是一个二维数组,其中每个数组都是一列数据。如果需要将其转换为一维数组,可以使用 toArray()
方法。
var allColumnsDataArray = allColumnsData.toArray();
console.log(allColumnsDataArray); // 输出 [["John", "Tom", "Lucy"], [23, 28, 21], ["New York", "Los Angeles", "Chicago"]]
虽然 column().data()
方法可以获取所有列数据,但有时候我们只需要获取可见列的数据。可以使用 column().data().filter()
方法来过滤出可见列的数据。
var visibleNameColumnData = $('#example').DataTable().column(0).data().filter(':visible');
console.log(visibleNameColumnData); // 输出 ["John", "Tom", "Lucy"]
在使用 jQuery Datatable 时,获取特定列的值是非常常见的需求。本文介绍了如何使用 column().data()
和 columns().data()
方法来获取列数据,并且讨论了如何过滤出可见列的数据。