下面的代码不会按字母顺序排序,其功能位于底部,我猜这是问题所在。最初,我对它进行了不同的设置,这就是为什么它起作用的原因,但我正在努力通过不同的设置来实现相同的逻辑
$.ajax({
url: '/echo/json/',
type: "post",
dataType: "json",
data: {
json: JSON.stringify([{
order_number: 1,
customer: 'Jess Learmonth',
total_cost: 200,
processed_date: '23/01/2016'
},
{
order_number: 14,
customer: 'Adam Bowden',
total_cost: 100,
processed_date: '22/01/2016'
}
]),
customer_orders.sort(function(a, b) {
return a.customer.toLowerCase().localeCompare(b.customer.toLowerCase());
}),
delay: 3
},
success: function(data, textStatus, jqXHR) {
// since we are using jQuery, you don't need to parse response
drawTable(data);
}
});
function drawTable(data) {
for (var i = 0; i < data.length; i++) {
drawRow(data[i]);
}
}
function drawRow(rowData) {
var row = $("<tr />")
$("#personDataTable").append(row); //this will append tr element to table... keep its reference for a while since we will add cels into it
row.append($("<td>" + rowData.order_number + "</td>"));
row.append($("<td>" + rowData.customer + "</td>"));
row.append($("<td>" + rowData.total_cost + "</td>"));
row.append($("<td>" + rowData.processed_date + "</td>"));
}
customer_orders.sort(function(a, b) {
return a.customer.toLowerCase().localeCompare(b.customer.toLowerCase());
});