Я пытаюсь заставить загрузчик datetimepicker работать вместе с Datatables, чтобы он фильтровал данные при выборе даты. Проблема в том, что он просто отображается в виде строки ввода на моей странице, там нет календаря или символа календаря. Это звучит как ссылка на CDN / библиотеку, но я дважды проверил и, кажется, все они загружены:
. Jquery
, moment.js
, начальная загрузка
, самонастройки-datetimepicker.min.js
, самозагрузки-datetimepicker.min.css
Я убедился, что Moment загружен до начальной загрузки и jquery. Я считаю, что это все ссылки, которые мне нужны? Любая помощь будет высоко ценится. Спасибо
<div class="container">
<div class='col-md-4'>
<div class="form-group">
<div class='input-group date' id='from'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class="form-group">
<div class='input-group date' id='to'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
<script>
$(function () {
$('#from').datetimepicker({
format: 'DD MMMM YYYY',
extraFormats: ['DD MM YYYY', 'DD.MM.YYYY',
'DD/MM/YYYY', 'DD MMM YYYY', 'DD.MMM.YYYY', 'DD/MMM/YYYY', 'DD MMMM YYYY',
'DD.MMMM.YYYY', 'DD/MMMM/YYYY']
}).on('dp.change', function (e) {
UpdateDataCount();
});
$('#to').datetimepicker({
format: 'DD MMMM YYYY',
extraFormats: ['DD MM YYYY', 'DD.MM.YYYY',
'DD/MM/YYYY', 'DD MMM YYYY', 'DD.MMM.YYYY', 'DD/MMM/YYYY', 'DD MMMM YYYY',
'DD.MMMM.YYYY', 'DD/MMMM/YYYY']
}).on('dp.change', function (e) {
UpdateDataCount();
});
});
UpdateDataCount: function () {
$.fn.dataTable.ext.search.push(
function (settings, data, dataIndex) {
var from = $('#from').datetimepicker("getDate");
var to = $('#to').datetimepicker("getDate");
//data being searched
var startDate = new Date(data[2]);
//if true show row/ if not, don't
if (from == null && to == null) { return true; }
if (from == null && startDate <= to) { return true; }
if (to == null && startDate >= from) { return true; }
if (startDate <= to && startDate >= from) { return true; }
return false;
}
);
}
</script>