所以我在使用Ajax设置数据时遇到了一些麻烦。
某些背景信息:
我有一个Ajax请求某些文件信息。 响应包含两组
我已经完成了没有Datatable的整个逻辑,但现在我想用datatable实现它。 我有2个条件
这些条件用于向用户表明女巫文件(项目)最需要注意。
代码时间(我正在使用Django框架):D
AJAX CALL
function ajax_dates() {
$.ajax({
url: "{% url 'get_files_dates' %}",
type: "GET"
}).done(function (object) {
date_calculation(object.dates, object.users);
});
}
// CONDITION ONE (ATTEMPT using Datatable)
// Projecten met een waarschuwing
if (enddate.isBetween(today, today.clone().add(4, 'd'))) {
// TABLE ROW VOOR ELK TYPE
running_waring = "";
running_waring += '<tr>';
running_waring += '<td>'+ checker.first_name + " " + checker.last_name+'</td>';
running_waring += '<td>'+ checker.first_name + " " + checker.last_name+'</td>';
running_waring += '<td id="testing">'+result.name+'</td>';
running_waring += '<td>'+result.word_count+'</td>';
running_waring += '<td>'+enddate.format("D MMM YYYY").replace(".","")+'</td>';
running_waring += '<td>'+enddate.format("HH:mm:ss")+'</td>';
running_waring += '<td>Verloopt binnenkort </td>';
running_waring += '<td> Verloopt' + upper_first(today.clone().subtract(0,"d").to(enddate))+'</td>';
running_waring += '</tr>';
$("#lopend_project").html(running_waring);
}
// CONDITION TWO (no datatable)
// Lopende projecten
if (enddate > (today.clone().add(4, 'd'))) {
active_html += "Eigennaar: " + owner.first_name + " " + owner.last_name + "<br>";
if (typeof(checker) === 'undefined') {
active_html += "Checker: None <br>";
} else {
active_html += "Checker: " + checker.first_name + " " + checker.last_name + "<br>";
}
active_html += "Bestand: " + result.name + "<br>" +
"Nog lopend tot: <strong>" + enddate.format("D/M/YYYY HH:mm") + "</strong><br>";
active_html += '<a href=' + "../project/" + result.id + ' >details</a><br><br>';
$("#active_project").html(active_html);
}
});
条件一似乎有效,但是我无法使用过滤器(它会清空数据表)。
我在他们的文档页面上读到了我应该使用的内容 数据和列[]但我不知道如何使用我的条件实现这一点。
可以在此处找到有关此内容的完整代码:[https://pastebin.com/1qmu9Vva][1]
DATATABLE
$('#project_table').DataTable({
lengthChange: false,
responsive: true,
// scrollY: '50vh',
sScrollY: "100%",
scrollCollapse: true,
paging: false,
stateSave: true,
colReorder: true,
rowGroup: {
startRender: function (rows, group) {
return group + ' (' + rows.count() + ')';
},
dataSrc: 6
},
// taal zorg voor een variabele om de taal in te stellen
"language": {
"lengthMenu": "Toon _MENU_ records per pagina",
"search": "",
"zeroRecords": "Er werd helaas niks gevonden dat voldoet aan uw zoekcriteria",
"emptyTable": "Deze tabel is helaas leeg",
"info": " _TOTAL_ records gevonden",
"infoEmpty": "Niks Gevonden",
"infoFiltered": "(gefilter van _MAX_ record(s))",
"paginate": {
"first": "Eerste",
"last": "Laatste",
"next": "Volgende",
"previous": "Vorige"
}
},
"columnDefs": [
{"width": "10%", "targets": 3}
]
});
我是荷兰人(比利时)所以我提前为拼写错误道歉。
我要提前感谢stackoverflow中的优秀人员。 (说实话,你们是看不见的英雄:D)