Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每次单击新列时,使jQuery表排序器按升序排序_Jquery_Jquery Plugins - Fatal编程技术网

每次单击新列时,使jQuery表排序器按升序排序

每次单击新列时,使jQuery表排序器按升序排序,jquery,jquery-plugins,Jquery,Jquery Plugins,我想问一下,是否有一种方法可以在每次单击新列时使表排序器按升序排序 谢谢 如果希望列仅按其初始排序方向排序,请在jquery.tablesorter.js中查找并注释这一行: this.order = this.count++ % 2; 这是下一次单击标题时更新列以按相反方向排序的行。注释掉这一点意味着排序顺序将始终相同。但这也意味着你将无法按相反的方向排序 我曾经遇到过这样一种情况(可能与您描述的情况相同),第一次单击时,我希望每个列按初始排序方向排序,但再次单击时,仍然希望能够按另一个方向

我想问一下,是否有一种方法可以在每次单击新列时使表排序器按升序排序


谢谢

如果希望列仅按其初始排序方向排序,请在jquery.tablesorter.js中查找并注释这一行:

this.order = this.count++ % 2;
这是下一次单击标题时更新列以按相反方向排序的行。注释掉这一点意味着排序顺序将始终相同。但这也意味着你将无法按相反的方向排序

我曾经遇到过这样一种情况(可能与您描述的情况相同),第一次单击时,我希望每个列按初始排序方向排序,但再次单击时,仍然希望能够按另一个方向排序。单击A列将对ASC进行排序,然后再次单击将对DESC进行排序,然后再对ASC进行排序。单击B将对ASC进行排序,然后再次单击A将对ASC进行排序。对于原始的tablesorter代码,最后一个排序将是DESC,因为上一次单击的A列排序是ASC

下面是我如何解决这个问题的。这可能是笨拙的,但对我来说很有效

在buildHeaders函数中,找到以下行:

this.order=formatSortingOrder(checkHeaderOrder(表,索引))

并在其后面添加以下内容:

this.initialOrder=formatSortingOrder(checkHeaderOrder(表,索引))

替换我前面提到的行:

this.order=this.count++%2

为此:

if($lastColumn == i){
    this.order = ++this.count % 2;
}else{
    this.order = this.initialOrder;
}
$lastColumn = i;
现在,假设A列的分类领主是ASC,B列的分类领主是DESC。将发生以下情况:

  • 单击A:对ASC排序
  • 单击B:排序B描述
  • 单击B:排序B ASC
  • 单击A:对ASC排序

  • 如果希望列仅按其初始排序方向排序,请在jquery.tablesorter.js中查找并注释这一行:

    this.order = this.count++ % 2;
    
    这是下一次单击标题时更新列以按相反方向排序的行。注释掉这一点意味着排序顺序将始终相同。但这也意味着你将无法按相反的方向排序

    我曾经遇到过这样一种情况(可能与您描述的情况相同),第一次单击时,我希望每个列按初始排序方向排序,但再次单击时,仍然希望能够按另一个方向排序。单击A列将对ASC进行排序,然后再次单击将对DESC进行排序,然后再对ASC进行排序。单击B将对ASC进行排序,然后再次单击A将对ASC进行排序。对于原始的tablesorter代码,最后一个排序将是DESC,因为上一次单击的A列排序是ASC

    下面是我如何解决这个问题的。这可能是笨拙的,但对我来说很有效

    在buildHeaders函数中,找到以下行:

    this.order=formatSortingOrder(checkHeaderOrder(表,索引))

    并在其后面添加以下内容:

    this.initialOrder=formatSortingOrder(checkHeaderOrder(表,索引))

    替换我前面提到的行:

    this.order=this.count++%2

    为此:

    if($lastColumn == i){
        this.order = ++this.count % 2;
    }else{
        this.order = this.initialOrder;
    }
    $lastColumn = i;
    
    现在,假设A列的分类领主是ASC,B列的分类领主是DESC。将发生以下情况:

  • 单击A:对ASC排序
  • 单击B:排序B描述
  • 单击B:排序B ASC
  • 单击A:对ASC排序

  • 这是一个表叉式排序器,您可以在其中传递lockedOrder参数:

    这是一个表叉式排序器,您可以在其中传递lockedOrder参数:

    最好也添加到jquery插件的链接。非常确定有办法。请给我们看一些你的代码到目前为止,我看了这个。问题是它会记住每列最后的排序顺序。我想完成的是,每次第一次单击列时,都要使其按ASC顺序排序,例如,要按ASC排序的列a和我单击将按ASC排序的列B,然后返回将按ASC顺序排序的列a(而不是描述)。谢谢你的帮助最好也添加jquery插件的链接。很肯定有办法。请给我们看一些你的代码到目前为止,我看了这个。问题是它会记住每列最后的排序顺序。我想完成的是,每次第一次单击列时,都要使其按ASC顺序排序,例如,要按ASC排序的列a和我单击将按ASC排序的列B,然后返回将按ASC顺序排序的列a(而不是描述)。谢谢你的帮助