2

我有这个基于这个问题的结果的小提琴。我正在尝试进一步扩展它,以便我可以添加二级排序,这样如果总价相同,它就会查看佣金列,并且佣金最高的人将在总售价相等的地方排在首位。这可能吗?我也无法将佣金列设为小数点后 2 位。我试过做

var commish = '.text((val.price / 3) + (val.sales*5))'; 

并在结果部分。

$("<td></td>");commish.toFixed(2).appendTo($tr);

但这并没有奏效。

4

1 回答 1

9

计算佣金并存储在对象中,以便您可以在排序和显示中使用它:

d.commission = d.price / 3 + d.sales * 5;

要对佣金进行次要排序,请检查价格是否相等,如果是则返回佣金的比较:

data.sort(function(a,b) {
  return a.price == b.price ? b.commission - a.commission : b.price - a.price;
});

当您在对象中有佣金时,很容易将其格式化以进行显示:

$("<td></td>").text(val.commission.toFixed(2)).appendTo($tr);

演示:http: //jsfiddle.net/Guffa/VNSam/9/

于 2012-08-06T08:50:30.097 回答