如何从jqueryui中删除某个表列的排序

how to remove sorting from a certain table column jquery ui

本文关键字:排序 删除 jqueryui      更新时间:2023-09-26

我是jquery的新手,也不是程序员。我试着在谷歌上搜索答案,但就是找不到答案。

我已经创建了一个表并在列中应用了排序,但我不想让少数列可以排序,因为它有一个名为".ccanvas head"的类。这就是我正在尝试的:

<script>
$(function () {
$('#sorting').sorttable({
    placeholder: 'placeholder',
    helperCells: ':not(.footerrow td)'
}).disableSelection();
  function reset(){
     $(".canvas-head").sorttable('disable');
   }
   $('.canvas-head').bind('click',reset);
});
</script>
<table id="sorting">
            <tbody>
                <tr class="headerrow ui-sortable">
                    <th class="ui-resizable tac"><div class="ui-resizable">First Year Corn <br>Non Limited N, High Pop(1)</div></th>
                  <th class="canvas-head">Canvas</th>
                    <th class="ui-resizable tac"><div class="ui-resizable">First Year Corn <br>Non Limited N, High Pop(2)</div></th>
                </tr>
                <tr>
<td>one</td>
<td>Two</td>
<td>three</td>
</tr>
</tbody>
</table>

工作示例

试试这个:

items: "td:not(.canvas-head)"

看看这里:jsfiddle.net

参考链接:jquery ui可排序禁用一个li项目

您可以为不想应用sortable的某些表列提供classid,然后在选择中使用.not

例如:

$(function() {
      $('#list').sortable({items: '> li:not(.pin)'});
});
<ul id="list">
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
    <li class="pin">Five</li>
</ul>