为DataTables aoColumnDefs创建JavaScript数组(JSON格式)
Create JavaScript array (JSON format) for DataTables aoColumnDefs
我想为DataTables参数aoColumnDefs:创建以下JSON数据
var aryJSONColTable = [
{"sTitle": "Column00", "aTargets": [0]},
{"sTitle": "Column01", "aTargets": [1]},
{"sTitle": "Column02", "aTargets": [2]},
{"sTitle": "Column03", "aTargets": [3]}
]
然后,我将把变量放入DataTable变量声明中,如下所示:
var oTable = $('#report').dataTable({
"aoColumnDefs": aryJSONColTable,
"bProcessing": true,
"bServerSide": true,
"bLengthChange": true,
"bFilter": true,
"aaSorting": [[ 3, "desc" ]],
"sScrollX": "100%",
"bScrollCollapse": true,
"bJQueryUI": true,
"sAjaxSource": "./getDataEA.php"
});
基于这个有用的讨论,我尝试了一个JavaScript循环来创建JSON数据aryJSONColTable,如下所示:
//create JSON array for aoColumnDefs
var aryColTableChecked = ["column00", "column01", "column02", "column03"];
var aryJSONColTable = [];
for (var i in aryColTableChecked) {
aryJSONColTable.push({
"sTitle": aryColTableChecked[i],
"aTargets": [i]
});
};
我总是从上面的JavaScript循环中获得数据"aTargets"的值"1",我希望为数据"aTarget"获得值[running_index_number]。
请在这件事上帮助我。提前谢谢。
我建议您将for..in
循环更改为标准的for
循环,因为用for..in
迭代数组是"危险的",因为如果您使用的库向Array.prototype
添加属性/方法,那么循环也会迭代这些属性/方法。
此外,对于for..in
,迭代器i
将是字符串,创建"aTargets" : ["0"]
,并且您希望它是一个数字来创建"aTargets" : [0]
。
var aryColTableChecked = ["column00", "column01", "column02", "column03"];
var aryJSONColTable = [];
for (var i = 0; i < aryColTableChecked.length; i++) {
aryJSONColTable.push({
"sTitle": aryColTableChecked[i],
"aTargets": [i]
});
};
似乎运行良好:http://jsfiddle.net/nnnnnn/Ek8tr/
注意:您生成的是而不是JSON,它是一个对象数组。(JSON是一种数据交换格式,始终是字符串。JSON看起来像JS对象文字和数组文字语法,但它不是一回事。)
for...in
用于对象而非数组,aryColTableChecked
是数组。你可以这样做:
var arr = [];
var max = 3; // zero based
for (var i = 0, n; i <= max; i++) {
n = i > 9 ? '' + i : '0' + i; // make sure it has 2 digits
arr.push({
sTitle: 'Column' + n,
aTargets: [i] // why array here?
});
}
相关文章:
- 在HTML页面上将URL解析为可读的json格式
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)
- 从Particle Photon Webhook到Azure的JSON格式
- json格式的国家数据到层次数据
- 从javascript调用C#Web服务并使用它(json格式)
- HTML表的JSON格式
- 如何将HTML表单(JSON格式)中的数据分配给变量
- Neo4j结果(JSON格式)创建D3树图
- 高图表数据导入 JSON - 格式
- 更改代码以读取不同的 JSON 格式
- JSON 格式问题
- 将JavaScript字典转换为JSON格式
- 将 XML 数据转换为 json 格式 AngularJS
- KendoDatePicker 无法识别从 Web 服务以 JSON 格式返回的日期
- 在表单提交时设置JSON格式
- AngularJS ng重复json格式
- 如何将json格式的数组数据从jquery返回到html
- 为什么 JSON.parse 无法检测参数是否已采用 JSON 格式
- 如何使用jQuery从表中以JSON格式发布数据
- json格式作为cordova或phonegap ios插件的参数