从数据表中的变量设置bSortable的问题

时间:2013-07-30 11:12:12

标签: javascript sorting datatables

我试图通过在php中使用datatables插件来实现特定列的隐藏排序选项。 如果我写下面的代码然后它的工作:     “aoColumns”:[{'bSortable':false},null,null,null,null,null,null,null,null,null,null,null,null,null,{'bSortable':false}],

但我需要动态,这就是我使用变量及其值的原因(对于我的情况{'bSortable': false},null,null,null,null,null,null,null,null,null,null,null,null,null,{'bSortable': false}我将它存储在名为excluded_clmns_sorting的js变量中。即使我尝试打印excluded_clmns_sorting的值,它也会显示{'bSortable': false},null,null,null,null,null,null,null,null,null,null,null,null,null,{'bSortable': false}。然后我编码像"aoColumns" : [excluded_clmns_sorting],,但它在控制台中显示错误。错误是“TypeError:oCol is undefined”。 所以请告诉我问题在哪里。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我怀疑你的问题是你要为excluded_clmns_sorting分配一个字符串。但是,很难确定这么少的信息。如果是这种情况,您需要在将字符串传递给datatables之前对其进行JSON.parse。 Datatables期待aoColumns的数组。

其中任何一项工作:

$(document).ready(function() {
    var excluded_clmns_sorting = JSON.parse('[{"bSortable": false},  null, null,  null, {"bSortable" : false}]');
    //var excluded_clmns_sorting = [{"bSortable": false},  null, null,  null, {"bSortable" : false}];
    $('#example').dataTable({
        "sPaginationType": "full_numbers",
        "aoColumns": excluded_clmns_sorting
    });
});

http://jsfiddle.net/ave8q/