正在处理数据表代码,我已经这样指定了:
{className: "editable alignCenter", "targets":"_all"}
基本上我所有的列都是动态变化的,所以我只想针对可编辑的列,我有一个dataattribute,在其中我可以识别该字段是主键字段还是标识字段。
所以我想修改,如果定义了该字段,则保留该字段,所有其他字段都应该是可编辑的,而该字段可以省去
尝试这样
var editableTargets = $('#layout').attr('data-array'); - this is coming as a comma seperated list like 0,1,2,3,4,5
"columnDefs": [
{className: "editable alignCenter", "targets": [editableTargets]}
]
但似乎不起作用
@@ andrewjames感谢您的快速提示,它正在起作用,
现在,我正尝试从editableTargets中找到最后一个数组,并删除可编辑的aligncenter类,并向其添加其他类,并为其添加排序:false
请给我一个开始
关于您更新的笔记:
现在,我正尝试从editableTargets中找到最后一个数组,并删除可编辑的aligncenter类,并向其添加其他类,并为其添加排序:false
再次,我可能会误解了,但是...这里有一些指针可以帮助您:
假设您有这个:
var editableTargets = "0,1,2,3,4,5";
以下代码将其分为两个数组-一个仅包含final元素,另一个包含其他所有元素:
// convert to an array of numbers:
var array = editableTargets.split(",").map(Number);
// remove the last element, and capture it as "i":
var i = array.pop();
// create an array containing the last element:
var lastItem = [];
lastItem.push(i);
因此,array
为[0,1,2,3,4]
,lastItem
为[5]
。
也许有更好的方法可以用JavaScript做到这一点,但这应该可以。
现在您应该可以在列defs部分中使用它们-像这样(但是我还没有测试过这一部分!):
"columnDefs": [
{ className: "editable alignCenter", "targets": array },
{ sorting: false, "targets": lastItem }
]