数据 Table 逃逸期
Data Table Escape Periods
我有一个用 datatable.js 创建的数据 table。
我设置了我的 table 使用名称的对象和列:
{ "title": "image", "data": "foo1", "className": "dt-center" },
{ "title": "id", "data": "foo.bar", "className": "dt-center" },
{ "title": "name", "data": "lorem", "className": "dt-center" }
我正在尝试向其中动态添加一行。我正在使用以下代码执行此操作:
var Json = {
"foo1" : '5',
"foo.bar" : '3',
"lorem" : 'True'
}
var rtn = oTable.fnAddData(Json );
问题是,我收到 error "Requested unknown parameter "foo.bar" for row n". This 页面指示需要使用 \
对句点进行转义。
不幸的是,这并不可靠。
这是我在每个位置使用的反斜杠 (\
) 数量的 table。
我怎样才能避免这种情况,以便它在两个地方都有效?
很有可能是插件代码本身的问题。尝试从 JSON 键值 foo.bar
中完全消除句点
我相信您的原始数据格式如下所示,这是 columns.data 中的点分符号 (foo.bar
) 最初起作用的唯一解释。
{
"foo1": '5',
"foo": { "bar": '3'},
"lorem": 'True'
}
columns.data 中的点分符号 (foo.bar
) 允许从嵌套对象中读取,因此 foo.bar
指的是 bar
子 属性 属性 命名为 foo
.
您必须将相同格式的数据传递给fnAddData
,因此您需要使用以下代码:
var Json = {
"foo1" : '5',
"foo": { "bar" : '3' },
"lorem" : 'True'
};
var rtn = oTable.fnAddData(Json);
有关代码和演示,请参见下面的示例。
$(document).ready(function() {
var oTable = $('#example').dataTable({
'columns': [
{ "title": "image", "data": "foo1", "className": "dt-center" },
{ "title": "id", "data": "foo.bar", "className": "dt-center" },
{ "title": "name", "data": "lorem", "className": "dt-center" }
]
});
var Json = {
"foo1" : '5',
"foo": { "bar" : '3' },
"lorem" : 'True'
};
var rtn = oTable.fnAddData(Json );
});
<link href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
<table id="example" class="display" cellspacing="0" width="100%">
</table>
我有一个用 datatable.js 创建的数据 table。
我设置了我的 table 使用名称的对象和列:
{ "title": "image", "data": "foo1", "className": "dt-center" },
{ "title": "id", "data": "foo.bar", "className": "dt-center" },
{ "title": "name", "data": "lorem", "className": "dt-center" }
我正在尝试向其中动态添加一行。我正在使用以下代码执行此操作:
var Json = {
"foo1" : '5',
"foo.bar" : '3',
"lorem" : 'True'
}
var rtn = oTable.fnAddData(Json );
问题是,我收到 error "Requested unknown parameter "foo.bar" for row n". This 页面指示需要使用 \
对句点进行转义。
不幸的是,这并不可靠。
这是我在每个位置使用的反斜杠 (\
) 数量的 table。
我怎样才能避免这种情况,以便它在两个地方都有效?
很有可能是插件代码本身的问题。尝试从 JSON 键值 foo.bar
我相信您的原始数据格式如下所示,这是 columns.data 中的点分符号 (foo.bar
) 最初起作用的唯一解释。
{
"foo1": '5',
"foo": { "bar": '3'},
"lorem": 'True'
}
columns.data 中的点分符号 (foo.bar
) 允许从嵌套对象中读取,因此 foo.bar
指的是 bar
子 属性 属性 命名为 foo
.
您必须将相同格式的数据传递给fnAddData
,因此您需要使用以下代码:
var Json = {
"foo1" : '5',
"foo": { "bar" : '3' },
"lorem" : 'True'
};
var rtn = oTable.fnAddData(Json);
有关代码和演示,请参见下面的示例。
$(document).ready(function() {
var oTable = $('#example').dataTable({
'columns': [
{ "title": "image", "data": "foo1", "className": "dt-center" },
{ "title": "id", "data": "foo.bar", "className": "dt-center" },
{ "title": "name", "data": "lorem", "className": "dt-center" }
]
});
var Json = {
"foo1" : '5',
"foo": { "bar" : '3' },
"lorem" : 'True'
};
var rtn = oTable.fnAddData(Json );
});
<link href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
<table id="example" class="display" cellspacing="0" width="100%">
</table>