我目前遇到问题,我有一个带有以下代码的子菜单:
load_sub_menu_disciplines: function() {
$.ajax({
headers: {
"Accept": "application/json; charset=utf-8",
"Content-Type": "application/json; charset=utf-8"
},
type: 'GET',
url: 'api/catalog_system/pub/specification/fieldvalue/22',
success: function(data) {
$.each(data, function(i, ele) {
if (ele.IsActive) {
$('#disciplinas .box-link .nav').append($('<li/>').append($('<a/>').attr('href', '/' + ele.Value + '?map=specificationFilter_22&O=OrderByReleaseDateDESC').text(ele.Value)))
}
});
$('#disciplinas a:empty').remove();
},
error: function(error) {
console.log(error);
}
});
我需要按字母顺序排序,但我不知道该怎么做。我知道我应该使用排序功能,但我不知道如何统一代码。我在js -.-
中的noob答案 0 :(得分:-1)
处理此问题的最简单方法是在将数据附加到DOM之前对其进行排序。
success: function(data) {
data.sort(function(a, b) {
if (a.Value == b.Value) { return 0; }
if (a.Value > b.Value) { return 1; }
return -1;
});
$.each(data, function(i, ele) {
if (ele.IsActive) {
$('#disciplinas .box-link .nav')
.append($('<li/>')
.append($('<a/>')
.attr('href', '/' + ele.Value + '?map=specificationFilter_22&O=OrderByReleaseDateDESC')
.text(ele.Value)))
}
});
$('#disciplinas a:empty').remove();
},