2013-11-18 3 views
0

Я получаю элемент 'date' из RSS-канала. У меня возникают проблемы с сортировкой и отображением информации. Может кто-то посмотреть? Благодаря!Сортировка xml данных по дате в jQuery

$('#feedContainer').empty(); 
         $.ajax({ 
         type: 'GET', 
         url: categoryURL, 
         dataType: 'xml', 
         success: function (xml) { 
           var data = []; 
           $(xml).find("item").each(function() { 
            var dateText = $(this).find("Date").text().substr(0,5); 
            var title = $(this).find("title").text(); 
            var region = date.substr(6); 
             if (region.length < 3) { region = "ALL"; } 
            var description = $(this).find("description").text(); 
            var descriptdisplay = description.substr(0, description.indexOf(",")+6); //Parsed DATE from description 
             if (descriptdisplay.length > 35) { descriptdisplay = "See event for details"; } 
            //var locationdisplay = description.substr(description.indexOf(",")+6,4); //Parsed the location from description 
            var category = $(this).find("category").text(); 
            var linkUrl = $(this).find("link").text(); 
            var item={ title: $(this).find("title").text(), dateText: $(this).find("Date").text().substr(0,5), date : new Date(dateText) } 
            data.push(item); 
           // var displaytitle = "<a href='" + linkUrl + "' target='_blank'>" + title + "</a>" ; 
           // $('#feedContainer').append('<h3>'+displaytitle+'</h3><p>'+"Event Date: "+descriptdisplay+'</p><p>'+"Location: "+region+'</p'); 
            data.sort(function(a,b){ return a.date > b.date;}); 
           $.each(data, function(index, item) { $('#feedContainer').append('<h3>'+item.title+'</h3><p>'+"Event Date: "+item.dateText+'</p><p>'+"Location: "+item.date+'</p'); }); 
          }); 

         } 
        }); 

ответ

0

Вы сортировки объектов даты, попробуйте сортировки эпохальное метку времени вместо того, чтобы:

data.sort(function(a,b){ 
    return a.date.getTime() > b.date.getTime(); 
}); 
+0

хорошо, я просто дал этому выстрел. Данные не отображались. Нужно ли добавлять код еще где? Кроме того, элемент даты находится в формате ddmmyy. Это имеет значение? – Bacon2305

+0

Попробуй вот так -> http://jsfiddle.net/a87Kk/ – adeneo

+0

К сожалению, данные по-прежнему не отображаются. Спасибо, что помогли с этой проблемой, я очень ценю это. – Bacon2305

Смежные вопросы