我知道它已经解决了,但我还没有让它发挥作用。我使用带有resposnive和serveride的DataTable Editor。当我将复选框放在第一列中时,我收到错误,如:
JS:
var table = $('#mytable').DataTable( {
dom: "rt",
ajax: {
url: "/source.php",
type: "POST",
data: function (d) {
}
},
serverSide: true,
processing: true,
select: {
style: 'os',
selector: 'td:first-child'
},
columns: [
{
data: null,
defaultContent: "",
className: "select-checkbox",
orderable: false,
targets: 0
},
{ data: "logo" },
{ data: "name" },
{ data: "product" }
]
} );
错误信息:
DataTables警告:table id = mytable - 未知字段:(索引0)
php:
Editor::inst( $db, 'table' )
->fields(
Field::inst( 'logo' ),
Field::inst( 'url' ),
Field::inst( 'name' ),
Field::inst( 'product' )
)
... wenn将最后一栏列入其中:
...
columns: [
{ data: "logo" },
{ data: "name" },
{ data: "product" },
{
data: null,
defaultContent: "",
className: "select-checkbox",
orderable: false,
targets: 0
}
]
...
如何获取第一列中的复选框? (所以第0栏)
答案 0 :(得分:0)
在代码
中添加此内容 $("#table").DataTable({
'columnDefs': [{
'targets': 0,
'bSortable': false,
'render': function (data, type, full, meta){
return '<input type="checkbox"> <label>Checkbox</label>';
}
}]
})
答案 1 :(得分:0)
这是作者的答案:
您启用了服务器端处理,默认排序是在第一列上订购。发生这种情况时,DataTables告诉服务器在客户端生成的列上进行排序并引发错误。
使用``order:[[1,&#39; desc&#39;]]`来解决这个问题。