我正在使用jQuery DataTables plugin对表字段进行排序。我的问题是:如何禁用对特定列的排序?我尝试了以下代码,但它不起作用:
"aoColumns": [
{ "bSearchable": false },
null
]
我还尝试了以下代码:
"aoColumnDefs": [
{
"bSearchable": false,
"aTargets": [ 1 ]
}
]
但这仍然没有产生预期的结果。
发布于 2011-10-05 17:32:31
这就是你要找的:
$('#example').dataTable( {
"aoColumnDefs": [
{ 'bSortable': false, 'aTargets': [ 1 ] }
]
});
发布于 2011-01-13 03:11:52
要禁用第一列排序,可以尝试在datatables jquery中使用以下代码。null表示此处启用的排序。
$('#example').dataTable( {
"aoColumns": [
{ "bSortable": false },
null,
null,
null
]
} );
发布于 2013-03-06 17:49:09
我所使用的只是在td td中添加一个自定义属性,并通过自动检查attr值来控制排序。
因此HTML代码将是
<table class="datatables" cellspacing="0px" >
<thead>
<tr>
<td data-bSortable="true">Requirements</td>
<td>Test Cases</td>
<td data-bSortable="true">Automated</td>
<td>Created On</td>
<td>Automated Status</td>
<td>Tags</td>
<td>Action</td>
</tr>
</thead>
<tbody>
<tr>
<td>
用于初始化数据表的JavaScript将是(它将动态地从表本身获取排序信息;)
$('.datatables').each(function(){
var bFilter = true;
if($(this).hasClass('nofilter')){
bFilter = false;
}
var columnSort = new Array;
$(this).find('thead tr td').each(function(){
if($(this).attr('data-bSortable') == 'true') {
columnSort.push({ "bSortable": true });
} else {
columnSort.push({ "bSortable": false });
}
});
$(this).dataTable({
"sPaginationType": "full_numbers",
"bFilter": bFilter,
"fnDrawCallback": function( oSettings ) {
},
"aoColumns": columnSort
});
});
https://stackoverflow.com/questions/3932587
复制相似问题