繁体   English   中英

Datatables JS-HTML5禁用特定列排序的方法?

[英]Datatables JS - HTML5 Way To Disable Sorting On Specific Column(s)?

您知道如何使用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 ] }]
  } );

如果您的表至少具有用于列的列,则其中的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>



我的问题是:

例如,如何使用HTML5数据属性使第1列和第3列不可排序?

我尝试了所有我能想到的选择-这是我的最后一次尝试

data-columnDefs="[{"bSortable": false, "Targets": [3]}]"



我在这里的事实表明我已经尝试了所有可能使用的资源,包括Datatable JS官方网站 ,Google和我确实最喜欢的一个StackOverflow,尽管存在一些相关问题,但无助于解决此特定问题。

和往常一样-我感谢您的兄弟姐妹在此问题上的任何帮助和努力! 爱与碎片与我所有的人在一起!!!

你很亲近 正确的data-属性如下所示:

<table id="example" class="display" data-column-defs='[{"sortable": false, "targets": [1,3]}]'>

根据手册

使用data-*属性作为初始化选项时,有两个要注意的要点:

  • jQuery将自动从虚线字符串转换为DataTables使用的驼峰大小写表示法(例如,将data-page-length用于pageLength )。
  • 如果在属性内使用字符串,则它必须用双引号引起 (因此,整个属性用单引号引起来 )。 由于处理JSON数据,这是jQuery的另一个要求。

有关代码和演示,请参见此jsFiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM