在Jquery中动态地隐藏数据表列和列数据
问题描述:
如果J查询中有一些条件为真,我想隐藏一个列及其数据到数据表中。我可以在需要时使用下面的代码隐藏列(条件为真)。在Jquery中动态地隐藏数据表列和列数据
{
'targets': [1],
'render': function (data, type, row, meta){
var student= $("#studentName").val();
if(student==''){
return '<a href="URL?student='+row.student+'">'+row.student+'</a>';
}else{
table.columns([1]).visible(false);
}
}
},
但是它在加载数据时抛出低于警告。如果我点击确定预警,数据显示为目的(列,并且不显示的内容)
“的DataTable警告:表ID = {ID} - 请求的未知参数 ‘{参数}’为行{行指数},列{列的索引}”
答
此发出警告,如果表中的列标题计数不通过数据列匹配是renderedSince我躲在一列,现在还没有列标题都超过1数据列,所以如果我将缺失列数据的默认内容设置为空,此警告将消失。我做了如下所示:
"{"data": "studentName",
"defaultContent": ""},
.........
],"
现在,如果学生姓名列可见,数据表将照常绘制。如果学生姓名列隐藏,则会设置默认内容。
完整的数据表组件如下。
var table = $('#example').DataTable({
"processing": true,
"serverSide": true,
"pagingType": "simple",
"sDom" : '<"top"lp>rt<"bottom"lp><"clear">',
"ajax": {
url: 'JSONURL.json',
dataType: 'json',
type: 'GET',
data: function (d){
d.param1= $("#studentName").val(),
},
},
"columns": [
{"data": ""},
{"data": "studentName",
"defaultContent": ""},
.........
],
"columnDefs": [
{
'targets': [1],
'render': function (data, type, row, meta){
var student = $("#studentName").val();
if(student==''){
return '<a href="URL?student='+row.studentName">'+row.studentName+'</a>';
}else{
table.columns([1]).visible(false);
}
}
},
]
});
请显示您的整个dataTables初始化代码。 – davidkonrad
请提供完整的DataTable代码,否则无法帮助您。 –
请提供正确的信息 –