JQuery/Javascript中数据表列名中的特殊字符

JQuery/Javascript中数据表列名中的特殊字符,javascript,datatables,datatables-1.10,Javascript,Datatables,Datatables 1.10,编辑:我已经创建了这个 这说明了问题所在 我用以下方式定义我的列(伪代码,请不要告诉我声明变量) datatable已正确呈现,但未显示列名称中有一些特殊字符([和])的列的值 欢迎所有帮助。如果将数据选项用作字符串,则括号将被解释为数组表示法。数据表说明如下: DataTables可以自动组合来自数组源的数据,将数据与两个括号之间提供的字符连接起来。例如:name[,]将提供一个与源数组分隔的逗号空间列表。如果括号之间未提供字符,则返回原始数组源 因此,您的数据:“[bla]”正在寻找一个未命

编辑:我已经创建了这个 这说明了问题所在

我用以下方式定义我的列(伪代码,请不要告诉我声明变量)

datatable已正确呈现,但未显示列名称中有一些特殊字符(
[
]
)的列的值


欢迎所有帮助。

如果将
数据
选项用作字符串,则括号将被解释为数组表示法。数据表说明如下:

DataTables可以自动组合来自数组源的数据,将数据与两个括号之间提供的字符连接起来。例如:name[,]将提供一个与源数组分隔的逗号空间列表。如果括号之间未提供字符,则返回原始数组源

因此,您的
数据:“[bla]”
正在寻找一个未命名数组(该数组不存在,因此列为空)以显示其元素之间的bla。不幸的是,似乎没有办法逃脱字符串中的括号。 最简单的解决方法是将
数据
用作函数,并从对象获取值

cols.push({
    data: function(row) {
      return row["[bla]"];
    },
    title:"[bla]",
    render: $.fn.dataTable.render.number(",",".",3)
});
这是您的最新信息

编辑: 如果您不知道列名称,如注释中提到的OP,那么可以将data函数与列的索引一起使用

cols.push({
data: function(row, type, set, meta) {
  return row[theColumns[meta.col].theColumnName];
},
title: theColumns[i].theColumnName,
render: $.fn.dataTable.render.number(",",".",3)
});

另一个。

嘿,谢谢你的回答。如果我事先知道列名是什么(在我的小提琴中是“[bla]”),那就行了。但是如果这个名称是在一个变量中定义的,比如在我的伪代码中呢?为了进一步澄清,我在循环另一个对象,title/data字段实际上看起来像
数据[I]。columnname
是一个
字符串
,当你在数据上循环时,你可以使用数据作为int。
数据:I,
我可能遗漏了什么/我的评论不清楚/我的变量名选择不当。这些列是通过独立于实际基础数据的对象循环定义的。因此,您将有一个
columns[i].columnname
,一旦定义了datatable,就可以得到实际数据。我说得通吗?非常感谢你!我不得不对代码进行一些调整,以使其在我的案例中起作用,但将我指向
meta
才是正确的选择。
cols.push({
data: function(row, type, set, meta) {
  return row[theColumns[meta.col].theColumnName];
},
title: theColumns[i].theColumnName,
render: $.fn.dataTable.render.number(",",".",3)
});