[javascript] Disable sorting on last column when using jQuery DataTables

I'm using jQuery DataTables in a project and I would like to know how to disable sorting for the last column. I want to implement this site-wide.

Right now I have the following code:

<!-- jQuery DataTable -->
    <script src="../assets/js/plugins/dataTables/jquery.datatables.min.js"></script>
    <script>
        /* Default class modification */
        $.extend( $.fn.dataTableExt.oStdClasses, {
            "sWrapper": "dataTables_wrapper form-inline"
        } );

        /* API method to get paging information */
        $.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
        {
            return {
                "iStart":         oSettings._iDisplayStart,
                "iEnd":           oSettings.fnDisplayEnd(),
                "iLength":        oSettings._iDisplayLength,
                "iTotal":         oSettings.fnRecordsTotal(),
                "iFilteredTotal": oSettings.fnRecordsDisplay(),
                "iPage":          Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
                "iTotalPages":    Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
            };
        }

        /* Bootstrap style pagination control */
        $.extend( $.fn.dataTableExt.oPagination, {
            "bootstrap": {
                "fnInit": function( oSettings, nPaging, fnDraw ) {
                    var oLang = oSettings.oLanguage.oPaginate;
                    var fnClickHandler = function ( e ) {
                        e.preventDefault();
                        if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
                            fnDraw( oSettings );
                        }
                    };

                    $(nPaging).addClass('pagination').append(
                        '<ul>'+
                            '<li class="prev disabled"><a href="#">&larr; '+oLang.sPrevious+'</a></li>'+
                            '<li class="next disabled"><a href="#">'+oLang.sNext+' &rarr; </a></li>'+
                        '</ul>'
                    );
                    var els = $('a', nPaging);
                    $(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
                    $(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
                },

                "fnUpdate": function ( oSettings, fnDraw ) {
                    var iListLength = 5;
                    var oPaging = oSettings.oInstance.fnPagingInfo();
                    var an = oSettings.aanFeatures.p;
                    var i, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);

                    if ( oPaging.iTotalPages < iListLength) {
                        iStart = 1;
                        iEnd = oPaging.iTotalPages;
                    }
                    else if ( oPaging.iPage <= iHalf ) {
                        iStart = 1;
                        iEnd = iListLength;
                    } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
                        iStart = oPaging.iTotalPages - iListLength + 1;
                        iEnd = oPaging.iTotalPages;
                    } else {
                        iStart = oPaging.iPage - iHalf + 1;
                        iEnd = iStart + iListLength - 1;
                    }

                    for ( i=0, iLen=an.length ; i<iLen ; i++ ) {
                        // Remove the middle elements
                        $('li:gt(0)', an[i]).filter(':not(:last)').remove();

                        // Add the new list items and their event handlers
                        for ( j=iStart ; j<=iEnd ; j++ ) {
                            sClass = (j==oPaging.iPage+1) ? 'class="active"' : '';
                            $('<li '+sClass+'><a href="#">'+j+'</a></li>')
                                .insertBefore( $('li:last', an[i])[0] )
                                .bind('click', function (e) {
                                    e.preventDefault();
                                    oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
                                    fnDraw( oSettings );
                                } );
                        }

                        // Add / remove disabled classes from the static elements
                        if ( oPaging.iPage === 0 ) {
                            $('li:first', an[i]).addClass('disabled');
                        } else {
                            $('li:first', an[i]).removeClass('disabled');
                        }

                        if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
                            $('li:last', an[i]).addClass('disabled');
                        } else {
                            $('li:last', an[i]).removeClass('disabled');
                        }
                    }
                }
            }
        });

        /* Show/hide table column */
        function dtShowHideCol( iCol ) {
            var oTable = $('#example-2').dataTable();
            var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
            oTable.fnSetColumnVis( iCol, bVis ? false : true );
        };

        /* Table #example */
        $(document).ready(function() {
            $('.datatable').dataTable( {
                "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
                "sPaginationType": "bootstrap",
                "oLanguage": {
                    "sLengthMenu": "_MENU_ records per page"
                }
            });
            $('.datatable-controls').on('click','li input',function(){
                dtShowHideCol( $(this).val() );
            })
        });
    </script>

This question is related to javascript jquery datatables

The answer is


Read here

http://www.craiglotter.co.za/2010/04/19/how-to-disable-sorting-on-a-column-in-jquery-datatables-plugin/

$('#example').dataTable({
    "aoColumns": [
        null,
        null,
        { "bSortable": false }, // <-- disable sorting for column 3
        null
     ]
});

http://datatables.net/usage/columns under bSortable You can specify which columns to disable using aoColumnDefs and aTargets

$('#example').dataTable({
    "aoColumnDefs": [
        { 
          "bSortable": false, 
          "aTargets": [ -1 ] // <-- gets last column and turns off sorting
         } 
     ]
});        

http://live.datatables.net/aqoxob/edit#source


Try to use minus sign for count from backside

<script>
    $(document).ready(function () {
        $('#example-2').DataTable({               
            'order':[],
            'columnDefs': [{
                "targets": [-1],
                "orderable": false
            }]
        });
    });
</script>

You can use the data attribute data-orderable="false".

<th data-orderable="false">Salary</th>

_x000D_
_x000D_
    $(document).ready(function() {_x000D_
    $('#example').DataTable()_x000D_
    });
_x000D_
<link  rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap4.min.css"  />_x000D_
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>_x000D_
<script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap4.min.js"></script>_x000D_
_x000D_
<table id="example" class="display" style="width:100%">_x000D_
        <thead>_x000D_
            <tr>_x000D_
                <th>Name</th>_x000D_
                <th>Position</th>_x000D_
                <th>Office</th>_x000D_
                <th>Age</th>_x000D_
                <th>Start date</th>_x000D_
                <th data-orderable="false">Salary</th>_x000D_
            </tr>_x000D_
        </thead>_x000D_
        <tbody>_x000D_
            <tr>_x000D_
                <td>Tiger Nixon</td>_x000D_
                <td>System Architect</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>61</td>_x000D_
                <td>2011/04/25</td>_x000D_
                <td>$320,800</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Garrett Winters</td>_x000D_
                <td>Accountant</td>_x000D_
                <td>Tokyo</td>_x000D_
                <td>63</td>_x000D_
                <td>2011/07/25</td>_x000D_
                <td>$170,750</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Ashton Cox</td>_x000D_
                <td>Junior Technical Author</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>66</td>_x000D_
                <td>2009/01/12</td>_x000D_
                <td>$86,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Cedric Kelly</td>_x000D_
                <td>Senior Javascript Developer</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>22</td>_x000D_
                <td>2012/03/29</td>_x000D_
                <td>$433,060</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Airi Satou</td>_x000D_
                <td>Accountant</td>_x000D_
                <td>Tokyo</td>_x000D_
                <td>33</td>_x000D_
                <td>2008/11/28</td>_x000D_
                <td>$162,700</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Brielle Williamson</td>_x000D_
                <td>Integration Specialist</td>_x000D_
                <td>New York</td>_x000D_
                <td>61</td>_x000D_
                <td>2012/12/02</td>_x000D_
                <td>$372,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Herrod Chandler</td>_x000D_
                <td>Sales Assistant</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>59</td>_x000D_
                <td>2012/08/06</td>_x000D_
                <td>$137,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Rhona Davidson</td>_x000D_
                <td>Integration Specialist</td>_x000D_
                <td>Tokyo</td>_x000D_
                <td>55</td>_x000D_
                <td>2010/10/14</td>_x000D_
                <td>$327,900</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Colleen Hurst</td>_x000D_
                <td>Javascript Developer</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>39</td>_x000D_
                <td>2009/09/15</td>_x000D_
                <td>$205,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Sonya Frost</td>_x000D_
                <td>Software Engineer</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>23</td>_x000D_
                <td>2008/12/13</td>_x000D_
                <td>$103,600</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Jena Gaines</td>_x000D_
                <td>Office Manager</td>_x000D_
                <td>London</td>_x000D_
                <td>30</td>_x000D_
                <td>2008/12/19</td>_x000D_
                <td>$90,560</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Quinn Flynn</td>_x000D_
                <td>Support Lead</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>22</td>_x000D_
                <td>2013/03/03</td>_x000D_
                <td>$342,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Charde Marshall</td>_x000D_
                <td>Regional Director</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>36</td>_x000D_
                <td>2008/10/16</td>_x000D_
                <td>$470,600</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Haley Kennedy</td>_x000D_
                <td>Senior Marketing Designer</td>_x000D_
                <td>London</td>_x000D_
                <td>43</td>_x000D_
                <td>2012/12/18</td>_x000D_
                <td>$313,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Tatyana Fitzpatrick</td>_x000D_
                <td>Regional Director</td>_x000D_
                <td>London</td>_x000D_
                <td>19</td>_x000D_
                <td>2010/03/17</td>_x000D_
                <td>$385,750</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Michael Silva</td>_x000D_
                <td>Marketing Designer</td>_x000D_
                <td>London</td>_x000D_
                <td>66</td>_x000D_
                <td>2012/11/27</td>_x000D_
                <td>$198,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Paul Byrd</td>_x000D_
                <td>Chief Financial Officer (CFO)</td>_x000D_
                <td>New York</td>_x000D_
                <td>64</td>_x000D_
                <td>2010/06/09</td>_x000D_
                <td>$725,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Gloria Little</td>_x000D_
                <td>Systems Administrator</td>_x000D_
                <td>New York</td>_x000D_
                <td>59</td>_x000D_
                <td>2009/04/10</td>_x000D_
                <td>$237,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Bradley Greer</td>_x000D_
                <td>Software Engineer</td>_x000D_
                <td>London</td>_x000D_
                <td>41</td>_x000D_
                <td>2012/10/13</td>_x000D_
                <td>$132,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Dai Rios</td>_x000D_
                <td>Personnel Lead</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>35</td>_x000D_
                <td>2012/09/26</td>_x000D_
                <td>$217,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Jenette Caldwell</td>_x000D_
                <td>Development Lead</td>_x000D_
                <td>New York</td>_x000D_
                <td>30</td>_x000D_
                <td>2011/09/03</td>_x000D_
                <td>$345,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Yuri Berry</td>_x000D_
                <td>Chief Marketing Officer (CMO)</td>_x000D_
                <td>New York</td>_x000D_
                <td>40</td>_x000D_
                <td>2009/06/25</td>_x000D_
                <td>$675,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Caesar Vance</td>_x000D_
                <td>Pre-Sales Support</td>_x000D_
                <td>New York</td>_x000D_
                <td>21</td>_x000D_
                <td>2011/12/12</td>_x000D_
                <td>$106,450</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Doris Wilder</td>_x000D_
                <td>Sales Assistant</td>_x000D_
                <td>Sidney</td>_x000D_
                <td>23</td>_x000D_
                <td>2010/09/20</td>_x000D_
                <td>$85,600</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Angelica Ramos</td>_x000D_
                <td>Chief Executive Officer (CEO)</td>_x000D_
                <td>London</td>_x000D_
                <td>47</td>_x000D_
                <td>2009/10/09</td>_x000D_
                <td>$1,200,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Gavin Joyce</td>_x000D_
                <td>Developer</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>42</td>_x000D_
                <td>2010/12/22</td>_x000D_
                <td>$92,575</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Jennifer Chang</td>_x000D_
                <td>Regional Director</td>_x000D_
                <td>Singapore</td>_x000D_
                <td>28</td>_x000D_
                <td>2010/11/14</td>_x000D_
                <td>$357,650</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Brenden Wagner</td>_x000D_
                <td>Software Engineer</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>28</td>_x000D_
                <td>2011/06/07</td>_x000D_
                <td>$206,850</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Fiona Green</td>_x000D_
                <td>Chief Operating Officer (COO)</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>48</td>_x000D_
                <td>2010/03/11</td>_x000D_
                <td>$850,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Shou Itou</td>_x000D_
                <td>Regional Marketing</td>_x000D_
                <td>Tokyo</td>_x000D_
                <td>20</td>_x000D_
                <td>2011/08/14</td>_x000D_
                <td>$163,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Michelle House</td>_x000D_
                <td>Integration Specialist</td>_x000D_
                <td>Sidney</td>_x000D_
                <td>37</td>_x000D_
                <td>2011/06/02</td>_x000D_
                <td>$95,400</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Suki Burks</td>_x000D_
                <td>Developer</td>_x000D_
                <td>London</td>_x000D_
                <td>53</td>_x000D_
                <td>2009/10/22</td>_x000D_
                <td>$114,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Prescott Bartlett</td>_x000D_
                <td>Technical Author</td>_x000D_
                <td>London</td>_x000D_
                <td>27</td>_x000D_
                <td>2011/05/07</td>_x000D_
                <td>$145,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Gavin Cortez</td>_x000D_
                <td>Team Leader</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>22</td>_x000D_
                <td>2008/10/26</td>_x000D_
                <td>$235,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Martena Mccray</td>_x000D_
                <td>Post-Sales support</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>46</td>_x000D_
                <td>2011/03/09</td>_x000D_
                <td>$324,050</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Unity Butler</td>_x000D_
                <td>Marketing Designer</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>47</td>_x000D_
                <td>2009/12/09</td>_x000D_
                <td>$85,675</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Howard Hatfield</td>_x000D_
                <td>Office Manager</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>51</td>_x000D_
                <td>2008/12/16</td>_x000D_
                <td>$164,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Hope Fuentes</td>_x000D_
                <td>Secretary</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>41</td>_x000D_
                <td>2010/02/12</td>_x000D_
                <td>$109,850</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Vivian Harrell</td>_x000D_
                <td>Financial Controller</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>62</td>_x000D_
                <td>2009/02/14</td>_x000D_
                <td>$452,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Timothy Mooney</td>_x000D_
                <td>Office Manager</td>_x000D_
                <td>London</td>_x000D_
                <td>37</td>_x000D_
                <td>2008/12/11</td>_x000D_
                <td>$136,200</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Jackson Bradshaw</td>_x000D_
                <td>Director</td>_x000D_
                <td>New York</td>_x000D_
                <td>65</td>_x000D_
                <td>2008/09/26</td>_x000D_
                <td>$645,750</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Olivia Liang</td>_x000D_
                <td>Support Engineer</td>_x000D_
                <td>Singapore</td>_x000D_
                <td>64</td>_x000D_
                <td>2011/02/03</td>_x000D_
                <td>$234,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Bruno Nash</td>_x000D_
                <td>Software Engineer</td>_x000D_
                <td>London</td>_x000D_
                <td>38</td>_x000D_
                <td>2011/05/03</td>_x000D_
                <td>$163,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Sakura Yamamoto</td>_x000D_
                <td>Support Engineer</td>_x000D_
                <td>Tokyo</td>_x000D_
                <td>37</td>_x000D_
                <td>2009/08/19</td>_x000D_
                <td>$139,575</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Thor Walton</td>_x000D_
                <td>Developer</td>_x000D_
                <td>New York</td>_x000D_
                <td>61</td>_x000D_
                <td>2013/08/11</td>_x000D_
                <td>$98,540</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Finn Camacho</td>_x000D_
                <td>Support Engineer</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>47</td>_x000D_
                <td>2009/07/07</td>_x000D_
                <td>$87,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Serge Baldwin</td>_x000D_
                <td>Data Coordinator</td>_x000D_
                <td>Singapore</td>_x000D_
                <td>64</td>_x000D_
                <td>2012/04/09</td>_x000D_
                <td>$138,575</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Zenaida Frank</td>_x000D_
                <td>Software Engineer</td>_x000D_
                <td>New York</td>_x000D_
                <td>63</td>_x000D_
                <td>2010/01/04</td>_x000D_
                <td>$125,250</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Zorita Serrano</td>_x000D_
                <td>Software Engineer</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>56</td>_x000D_
                <td>2012/06/01</td>_x000D_
                <td>$115,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Jennifer Acosta</td>_x000D_
                <td>Junior Javascript Developer</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>43</td>_x000D_
                <td>2013/02/01</td>_x000D_
                <td>$75,650</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Cara Stevens</td>_x000D_
                <td>Sales Assistant</td>_x000D_
                <td>New York</td>_x000D_
                <td>46</td>_x000D_
                <td>2011/12/06</td>_x000D_
                <td>$145,600</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Hermione Butler</td>_x000D_
                <td>Regional Director</td>_x000D_
                <td>London</td>_x000D_
                <td>47</td>_x000D_
                <td>2011/03/21</td>_x000D_
                <td>$356,250</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Lael Greer</td>_x000D_
                <td>Systems Administrator</td>_x000D_
                <td>London</td>_x000D_
                <td>21</td>_x000D_
                <td>2009/02/27</td>_x000D_
                <td>$103,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Jonas Alexander</td>_x000D_
                <td>Developer</td>_x000D_
                <td>San Francisco</td>_x000D_
                <td>30</td>_x000D_
                <td>2010/07/14</td>_x000D_
                <td>$86,500</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Shad Decker</td>_x000D_
                <td>Regional Director</td>_x000D_
                <td>Edinburgh</td>_x000D_
                <td>51</td>_x000D_
                <td>2008/11/13</td>_x000D_
                <td>$183,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Michael Bruce</td>_x000D_
                <td>Javascript Developer</td>_x000D_
                <td>Singapore</td>_x000D_
                <td>29</td>_x000D_
                <td>2011/06/27</td>_x000D_
                <td>$183,000</td>_x000D_
            </tr>_x000D_
            <tr>_x000D_
                <td>Donna Snider</td>_x000D_
                <td>Customer Support</td>_x000D_
                <td>New York</td>_x000D_
                <td>27</td>_x000D_
                <td>2011/01/25</td>_x000D_
                <td>$112,000</td>_x000D_
            </tr>_x000D_
        </tbody>_x000D_
        <tfoot>_x000D_
            <tr>_x000D_
                <th>Name</th>_x000D_
                <th>Position</th>_x000D_
                <th>Office</th>_x000D_
                <th>Age</th>_x000D_
                <th>Start date</th>_x000D_
                <th>Salary</th>_x000D_
            </tr>_x000D_
        </tfoot>_x000D_
    </table>
_x000D_
_x000D_
_x000D_

As of v1.10.5 DataTables can also use initialization options read from HTML5 data-* attributes. This provides a mechanism for setting options directly in your HTML, rather than using Javascript.


Its work for me - you can try this


dataTable({
    "paging":   true,
    "ordering": false,
    "info":     true,
})


Do this in jQuery. The below code works well even if you columns generated automatically or not sure about the column number.

var table = $('#tbl').DataTable({
        "columnDefs": [{ targets: 'no-sort', orderable: false }]});

and add a class 'no-sort' to whatever headers you want to disable sort like this..

<th class="no-sort">Header n</th>

This is work perfect for me if you don't allow sorting the first column then use

<script>
    $(document).ready(function () {
        $('#example2').DataTable({               
            'order':[],
            'columnDefs': [{
                "targets": 0,
                "orderable": false
            }]
        });
    });
</script>

here index row starts with 0, so put 0 in targets.
And if you disable sorting for one or more column then use,

<script>
    $(document).ready(function () {
        $('#example2').DataTable({               
            'order':[],
            'columnDefs': [{
                "targets": [0,3],
                "orderable": false
            }]
        });
    });
</script>

Here you can see , disable sorting in datatable js

Above my checkbox column at 0 positions and Action column at 3rd position so sorting disable in both table.


for disable sorting on any column in datatable use the following

aoColumnDefs: [{ "aTargets": [ 0 ], "bSortable": false}],

it means "aTargets": [ 0 ] is the column id starting from 0

so in your case it becomes:

 $(".tableSort").dataTable({
        aaSorting: [[0, 'asc']],
        aoColumnDefs: [
            { "aTargets": [ -1 ], "bSortable": false},
        ]
    });

use this link http://datatables.net/ref#bSortable

$(document).ready( function() {
   $('#example').dataTable( {
      "aoColumnDefs": [{ "bSortable": false, "aTargets": [ 0 ] }]
    } );
} );

On DataTable 1.9.x:

$('.dataTable').dataTable({
    'aoColumnDefs': [{
        'bSortable': false,
        'aTargets': [-1], /* 1st colomn, starting from the right */
    }]
});

While on 1.10.x

$('.dataTable').dataTable({
    columnDefs: [{ orderable: false, "targets": -1 }] /* -1 = 1st colomn, starting from the right */
});

I would like to develop the current answer.

The good way is to use aoColumnDefs as mentioned.
The default value for the bSortable parameter is true (for each column).

You've got 2 options...

By index :

var table = $('#example').DataTable({
   'aoColumnDefs': [{
        'bSortable': false,
        'aTargets': [-1] /* 1st one, start by the right */
    }]
});

By class :

var table = $('#example').DataTable({
   'aoColumnDefs': [{
        'bSortable': false,
        'aTargets': ['nosort']
    }]
});

Adding the class on the <th> :

<table>
    <thead>
        <tr>
            <th>Foo</th>
            <th>Bar</th>
            <th class="nosort">Baz</th>
        </tr>
    </thead>
    <tbody>...</tbody>
</table>

Documentation about columns

JSBin


Use this:

$(document).ready(function () {
            $('#workPatternDataTable').dataTable({
                //"aaSorting": [],
                ajax: null,
                columnDefs: [
                    {
                        targets: 0,
                        sortable: false,
                        autoWidth: false,
                    }
                ]
            });
        });

This has resolved my issue, just added data-orderable="false" in <th></th> like this <th data-orderable="false">Salary</th>


This would be useful for v1.10+ of datatables. Set column number for which you want to remove sorting for e.g 1st column would be like:

columnDefs: [
   { orderable: false, targets: 0 }
]

For multiple columns(1st,second and third):

columnDefs: [
   { orderable: false, targets: [0,1,2] }
]

Examples related to javascript

need to add a class to an element How to make a variable accessible outside a function? Hide Signs that Meteor.js was Used How to create a showdown.js markdown extension Please help me convert this script to a simple image slider Highlight Anchor Links when user manually scrolls? Summing radio input values How to execute an action before close metro app WinJS javascript, for loop defines a dynamic variable name Getting all files in directory with ajax

Examples related to jquery

How to make a variable accessible outside a function? Jquery assiging class to th in a table Please help me convert this script to a simple image slider Highlight Anchor Links when user manually scrolls? Getting all files in directory with ajax Bootstrap 4 multiselect dropdown Cross-Origin Read Blocking (CORB) bootstrap 4 file input doesn't show the file name Jquery AJAX: No 'Access-Control-Allow-Origin' header is present on the requested resource how to remove json object key and value.?

Examples related to datatables

Datatables Select All Checkbox DataTables: Cannot read property style of undefined How do I filter date range in DataTables? DataTables: Cannot read property 'length' of undefined TypeError: $(...).DataTable is not a function jQuery DataTables Getting selected row values How to manually update datatables table with new JSON data DataTables: Uncaught TypeError: Cannot read property 'defaults' of undefined How to redraw DataTable with new data Datatables: Cannot read property 'mData' of undefined