Некоторое время назад я написал функцию format_date
, так как это дает много вариантов того, как вы хотите иметь свою дату:
function format_date($date, $type, $seperator="-")
{
if($date)
{
$day = date("j", strtotime($date));
$month = date("n", strtotime($date));
$year = date("Y", strtotime($date));
$hour = date("H", strtotime($date));
$min = date("i", strtotime($date));
$sec = date("s", strtotime($date));
switch($type)
{
case 0: $date = date("Y".$seperator."m".$seperator."d",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 1: $date = date("D, F j, Y",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 2: $date = date("d".$seperator."m".$seperator."Y",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 3: $date = date("d".$seperator."M".$seperator."Y",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 4: $date = date("d".$seperator."M".$seperator."Y h:i A",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 5: $date = date("m".$seperator."d".$seperator."Y",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 6: $date = date("M",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 7: $date = date("Y",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 8: $date = date("j",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 9: $date = date("n",mktime($hour, $min, $sec, $month, $day, $year)); break;
case 10:
$diff = abs(strtotime($date) - strtotime(date("Y-m-d h:i:s")));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
$date = $years . " years, " . $months . " months, " . $days . "days";
}
}
return($date);
}
Вы сохраняете в переменной , что ссылку на элемент , и используете ее для добавления к документу. Вы должны обернуть элемент перед вызовом метода после.
Кроме того, при вызове ajax вы устанавливаете значение dataType в html , когда кажется, что вы ожидаете json .
Итак, в итоге ваш код должен выглядеть так:
$("#category li").one('click', function() {
var $that = $(this);
var catId = $that.attr("id");
$.ajax({
type: 'GET',
url: '<?php echo base_url()."dashboard/getsubcategory/"; ?>'+catId,
dataType: 'json',
data: { category: catId},
beforeSend: function() {
$("#loader").show();
}
})
.done(function(data) {
data.forEach(function(category) {
$that.after('<li class="collection-item">'+category.id+'</li>');
});
})
.fail(function() {
alert( "Fetch failed." );
});
});