Вопрос по javascript, sorting, jquery – jQuery сортировка по дате [дубликаты]
Possible Duplicate:
Javascript date sorting by convert the string in to date format
Я не очень хорошо разбираюсь в jquery, поэтому мне было интересно, есть ли способ или плагин, который я могу использовать для сортировки div-ов по дате. У меня есть дата в формате ГГГГ: ММ: ДД ЧЧ: ММ: СС. Я показываю дату в div, как показано ниже. Div находятся в неупорядоченном формате, и я хочу отсортировать их в последнюю дату в первую очередь.
<div id="dateDiv">2012-04-15 10:25:45</div>
<div id="dateDiv">2012-04-10 19:41:08</div>
<div id="dateDiv">2012-04-20 07:00:10</div>
<div id="dateDiv">2012-04-12 16:45:50</div>
Спасибо
Посмотрите на этот вопрос - & gt;stackoverflow.com/questions/2769301/… Выглядит похоже на ваш.
deepcell
@RichardNeilIlagan: Извините, моя ошибка. Я не использовал дубликат идентификатора в реальном коде, я просто скопировал вставку того же погружения здесь, в примере, для удобства.
Sandeep Kumar
Как примечание стороны, используя дубликат
id
с большой нет-нет.
Richard Neil Ilagan
2
ответа
если вы хотите легкий способ без плагинов, вы можете попробовать это:
HTML:
<div id="D">
<div class="dateDiv">2012-04-15 10:25:45</div>
<div class="dateDiv">2012-04-10 19:41:08</div>
<div class="dateDiv">2012-04-20 07:00:10</div>
<div class="dateDiv">2012-04-12 16:45:50</div>
</div>
Для JS:
var elems = $.makeArray($(".dateDiv"));
elems.sort(function(a, b) {
return new Date( $(a).text() ) < new Date( $(b).text() );
});
$("#D").html(elems);
UPDATE:
Спасибо CMS за ответ на этот вопрос о датах разбора:Почему Date.parse дает неверные результаты?
function parseDate(input) {
var parts = input.match(/(\d+)/g);
// new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])
return new Date(parts[0], parts[1]-1, parts[2], parts[3], parts[4], parts[5]); // months are 0-based
}
var elems = $.makeArray($(".dateDiv"));
elems.sort(function(a, b) {
console.log( parseDate( $(a).text() ) );
return parseDate( $(a).text() ) < parseDate( $(b).text() );
});
$("#D").html(elems);
Теперь не говорите мне, что это не работает ... хе-хе
Error: User Rate Limit Exceededjsfiddle.net/WpTb5/1Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededjsfiddle.net/jCkCP
Похожие вопросы
Посмотрите на этот вопрос - & gt;<a href="http://stackoverflow.com/questions/2769301/how-can-i-set-the-mindate-maxdate-for-jqueryui-datepicker-using-a-string" title="how can i set the mindate maxdate for jqueryui datepicker using a string">stackoverflow.com/questions/2769301/…</a> Выглядит похоже на ваш.
@RichardNeilIlagan: Извините, моя ошибка. Я не использовал дубликат идентификатора в реальном коде, я просто скопировал вставку того же погружения здесь, в примере, для удобства.
Как примечание стороны, используя дубликат<code>id</code>с большой нет-нет.