所以我有这个javascript函数reOrderJSON,它对数组排序,如果参数order
等于“反转”,它会在数组排序后立即反转数组。
我还有一个绑定到关联链接的点击事件的函数。
function reOrderJSON(subj,att,order,limit){
subj.sort(function (a, b,order) {
a = a[att],
b = b[att];
return a.localeCompare(b);
});
if(order === "reverse"){
subj.reverse();
console.log("Reverse passed a parameter to reOrderJSON")
}
layoutDate(subj,limit)
return depos = subj;
}
function clickReorder(e){
var orderingLink = e.target;
var reverseOrder = "";
var order = $(orderingLink).attr('data-order');
if(order === "desc" || order === "undefined"){
$(orderingLink).attr('data-order','asc');
console.log("Order detected as "+order)
reverseOrder = false;
}else{
$(orderingLink).attr('data-order','desc');
console.log("Order detected as "+order)
reverseOrder = "reverse";
}
var limit = $('.entries-per-page').val();
reOrderJSON(e.data.orderedObject,$(e.target).data('assoc'),reverseOrder,limit);
$('.result th').css('background','transparent');
$(orderingLink).closest('th').css({'background':'pink'});
return false;
}
$('.result').on("click", "th a", { orderedObject: depos }, clickReorder);
链接一开始是这样的:
<th><a href="#" data-assoc="county">County</a></th>
如您所知,我正在记录一些调试文本以说明发生了什么。第一次单击链接时,我总是在日志中返回这两行:
Order detected as undefined
Reverse passed a parameter to reOrderJSON
我不明白这是怎么回事,order
不应该作为"reverse"
第一次通过。我在这里想念什么?
depos
是一个数组对象,如果这有什么不同的话。