3

我正在寻找一种排序行为,一种与特定类别匹配并将其放在列表前面的排序行为。就像过滤器一样,除了不删除其他项目。

想象一下同位素网格中的这些类别项目:

  • 红色的
  • 绿
  • 蓝色的
  • 红色的
  • 绿
  • 蓝色的

如果我按类别排序,它会按字母顺序显示:

  • 蓝色的
  • 蓝色的
  • 绿
  • 绿
  • 红色的
  • 红色的

我想要的是将特定类别浮动到前面,例如“绿色”,如下所示:

  • 绿
  • 绿
  • 红色的
  • 红色的
  • 蓝色的
  • 蓝色的

这可能吗?

我尝试getSortData为每个类别添加一个函数,如下所示:

      green : function( $elem ) {
        var $greenItems = $elem.filter('.green');            
        var $otherItems = $elem.filter(':not(.green)');
        return $greenItems.add($otherItems);
      }
      // repeat for blue, red, etc

但这没有用。

4

1 回答 1

3

这对我有用:

green : function( $elem ) {
    var isGreen = $elem.hasClass('green');
    return (!isGreen?' ':'');
},
// etc

演示:http: //jsfiddle.net/Yvk9q/9/

于 2012-09-23T11:48:48.677 回答