簡體   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