Javascript DataTables是否将非列的对象数据添加到行?
我搞不懂这个,他们的API非常混乱 我有一个表格,显示几何特征的表格数据,所以我想将坐标保存在行数据中 我需要一种方法来检索这个坐标,例如,当用户单击行时 我正在努力实现的示例:Javascript DataTables是否将非列的对象数据添加到行?,javascript,datatables,Javascript,Datatables,我搞不懂这个,他们的API非常混乱 我有一个表格,显示几何特征的表格数据,所以我想将坐标保存在行数据中 我需要一种方法来检索这个坐标,例如,当用户单击行时 我正在努力实现的示例: const dt = $('table').DataTable({ columns : [ {data : "NAME"}, {data : "COLOR"} ] }) dt.row.add({ COLOR : "Red", NAME : "Point1
const dt = $('table').DataTable({
columns : [
{data : "NAME"},
{data : "COLOR"}
]
})
dt.row.add({
COLOR : "Red",
NAME : "Point1",
//Invalid parameter error
geometry : {
type : "point",
coordinates : [1,1]
}
})
我认为将其存储在隐藏列中并不理想,因为对于多边形类型,坐标可能会变得相当大
我对DataTables非常陌生,对API非常困惑,任何关于如何更好地组织/执行我的概念的建议都是非常受欢迎的。似乎你所拥有的应该是有效的。我给大家举了一个小例子: 它添加了一行额外的
几何体对象。选择行,然后单击显示所选数据
按钮。控制台将显示整行,仅显示几何体对象
我正在使用获取所选行。似乎您所拥有的应该可以工作。我给大家举了一个小例子:
它添加了一行额外的几何体对象。选择行,然后单击显示所选数据
按钮。控制台将显示整行,仅显示几何体对象
我正在使用获取所选行。HTML
<table>
<thead>
<tr>NAME</tr>
<tr>COLOR</tr>
<tr></tr>
</thead>
</table>
HTML
对我来说几何图形打印未定义,对你有用吗?是的,看看控制台输出。对不起,应该提到:-)对我来说几何图形打印未定义,对你有用吗?是的,看看控制台输出。对不起,应该提到:-)你能简单解释一下你做了什么吗?好的,我在那里放了几条评论——不知道我还能做什么解释,不过如果你告诉我什么不清楚,我会尝试。啊,我现在明白了,但你只是把它存储为一个专栏,对吗?我不知道这对一些非常大的坐标来说是否能很好地工作。数据不需要在列中就可以访问。是的,只是将其存储起来供以后使用(使其隐藏在视图中,这样“大”就不重要了…)我在我的页面上尝试了这一点,但它有一些其他错误,尽管看起来您找到了想要的答案,所以我不会更正代码。你能简单解释一下你做了什么吗?好的,我在里面放了一些注释-不确定我还能做什么解释,不过如果你告诉我什么不清楚,我会试试。啊,我现在明白了,但你只是将它存储为一个列,对吗?我不知道这对一些非常大的坐标来说是否能很好地工作。数据不需要在列中就可以访问。是的,只是将其存储起来供以后使用(使其隐藏在视图中,这样“大”就不重要了…)我在我的页面上尝试了这一点,但它有一些其他错误,尽管看起来您找到了想要的答案,所以我不会更正代码。
const dt = $('table').DataTable({
columns: [
{data: null},
{data: null},
{data: null}
],
// This makes the row clickable, where you can get data later
"createdRow": function (row, data, dataIndex) {
var tds = $(row).find("td");
$.each(tds, function (key, value) {
$(value).attr("onclick", "see_the_data(this)");
}
},
// this hides the coordinate column from view
"columnDefs": [
{
"targets": 2,
"visible": false
}
]
});
dt.row.add({
COLOR: "Red",
NAME: "Point1",
//Invalid parameter error
geometry: {
type: "point",
coordinates: [1, 1]
}
});
function see_the_data(e) {
console.log("the data is ", e); // you can then go further as you need
}