您知道如何使用HTML5来初始化表上的一些选项,而不是使用Javascript来完成相同的操作。一种方式是否比另一种方式好,超出了这个问题的范围。
请参见HTML 5数据属性设置选项获取更多信息
这个问题的目标是找到如何使用HTML5初始化禁用某些列的答案。
基本的Javascript初始化器是这样的:
$(document).ready(function() {
$('#example').DataTable();
});
然后这是一个例子,你将如何设置页面长度使用JS内的初始化函数:
$('#example').dataTable( {
"pageLength": 50
} );
好了,更接近了——这里有一个JS方法来禁用第1列和第3列的排序,例如——在初始化函数中添加这一行:
$('#example').dataTable( {
"pageLength": 50,
"aoColumnDefs": [ { "bSortable": false, "aTargets": [ 1, 3 ] }]
} );
如果你的表至少有5列,那么其中的2列将无法排序。
现在也有一种方法,例如设置页面长度,(显示顺序…)为一个表使用HTML5属性data-,如:
<table data-order='[[ 1, "asc" ]]' data-page-length='25'>
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th data-class-name="priority">Salary</th>
</tr>
</thead>
My Question Is:
如何使例如列1和3不排序使用HTML5 DATA- ATTRIBUTE?
我已经尝试了所有我能想到的选择——这是我最后一次尝试
data-columnDefs="[{"bSortable": false, "Targets": [3]}]"
我在这里的事实表明,我已经尝试了我可能使用的所有资源,包括Datatable JS官方网站,谷歌和我最喜欢的一个StackOverflow,虽然有一些相关的问题,但无助于解决这个特定的问题。
和往常一样,我感谢你们每一个我的兄弟姐妹在这些问题上的帮助和努力!!爱,与你同在,我所有的人!!你很接近了。正确的data-
属性如下:
<table id="example" class="display" data-column-defs='[{"sortable": false, "targets": [1,3]}]'>
根据手册:
当使用data-*
属性作为初始化选项时,有两点需要考虑:
- jQuery将自动从虚线字符串转换为驼峰大小写表示法使用的数据表(例如使用
data-page-length
pageLength
)。- 如果在属性内使用字符串,则必须在中使用双引号(因此整个属性在中使用单引号)。这是jQuery处理JSON数据的另一个要求。