Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DataTables是否将非列的对象数据添加到行?_Javascript_Datatables - Fatal编程技术网

Javascript DataTables是否将非列的对象数据添加到行?

Javascript DataTables是否将非列的对象数据添加到行?,javascript,datatables,Javascript,Datatables,我搞不懂这个,他们的API非常混乱 我有一个表格,显示几何特征的表格数据,所以我想将坐标保存在行数据中 我需要一种方法来检索这个坐标,例如,当用户单击行时 我正在努力实现的示例: const dt = $('table').DataTable({ columns : [ {data : "NAME"}, {data : "COLOR"} ] }) dt.row.add({ COLOR : "Red", NAME : "Point1

我搞不懂这个,他们的API非常混乱

我有一个表格,显示几何特征的表格数据,所以我想将坐标保存在行数据中

我需要一种方法来检索这个坐标,例如,当用户单击行时

我正在努力实现的示例:

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
    }