我的this fiddle基于this question的结果。我试图进一步扩展这一点,以便我可以添加一个二级排序,这样如果总价格相同,那么它会查看佣金列,而拥有最高佣金的人将在总销售价格相等的位置上排名靠前。这可能吗?我也无法将commision列设为2位小数。我试过做
var commish = '.text((val.price / 3) + (val.sales*5))';
并在结果部分。
$("<td></td>");commish.toFixed(2).appendTo($tr);
但这没效果。
答案 0 :(得分: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);