Jquery Datattable排序函数问题

Jquery Datattable排序函数问题,jquery,datatable,Jquery,Datatable,我的datatable已失去通过单击“asc”和“desc”进行切换的功能。当我去掉表头单击函数时,它可以正常工作,但是当它们像在提供的示例中那样被添加时,在“asc”和“desc”之间切换的能力就丧失了。我的代码似乎干扰了默认的datatable代码。有什么答案或建议吗 问题 我无法使表标题在“asc”和“dec”之间切换,如果它确实起作用,则功能的其他部分(如搜索)将停止正常工作 概述 我有一个按各个列搜索的表。您可以通过以下两种方式之一选择要搜索的列 有一个下拉列表列出了所有列名,当您选择

我的datatable已失去通过单击“asc”和“desc”进行切换的功能。当我去掉表头单击函数时,它可以正常工作,但是当它们像在提供的示例中那样被添加时,在“asc”和“desc”之间切换的能力就丧失了。我的代码似乎干扰了默认的datatable代码。有什么答案或建议吗

问题

我无法使表标题在“asc”和“dec”之间切换,如果它确实起作用,则功能的其他部分(如搜索)将停止正常工作

概述

我有一个按各个列搜索的表。您可以通过以下两种方式之一选择要搜索的列

有一个下拉列表列出了所有列名,当您选择该选项时,相应的表格标题将排序为“asc”,然后如果您单击表格标题,则可以在“asc”和“desc”之间切换

您也可以简单地单击表格标题,并选择相应的选择选项。表格标题也将始终以“asc”开头,您可以在单击时在“asc”和“desc”之间切换

代码


这是因为您正在链接列标题,单击并在下拉列表中选择

单击其中一个标题(比如Office),它将触发$'dtSelect'.changefunction并将排序顺序设置为['Office','asc']

更改以下行:

if (column !== "") {

这将触发oTable.fnSort[[column'asc']];仅当下拉值更改时,而不是单击列标题时


jsfiddle:

这似乎是可行的,我将在实际代码中对其进行测试以确定是否可行。只是提醒一下,你的JSFIDLE不起作用了,我只是添加了建议的自我改变。它非常有效。如果你有机会的话,你能解释一下鳕鱼的情况,这样我下次遇到这种情况时就能理解了。太棒了。有关event.currentTarget的含义,请参见。本质上,通过在$'dtSelect'.change块中添加event.currentTarget==此条件,我的意思是,只有在更改下拉值时调用下一步,才能执行下一步。而不是从其他事件(如单击列标题)触发同一事件。
if (column !== "") {
 if (column !== "" && event.currentTarget === this) {