我尝试使用动态列创建dataTable,以便从&到datepickers中进行选择。
列应包含日期和toDate之间的fromDate
JS代码
$("#from").datepicker();
$("#to").datepicker();
var strTopHead='<th rowspan="2">Name</th><th rowspan="2">Code</th><th rowspan="2">code</th>';
$('#getBetween').on('click', function () {
$('#trTopHead').empty();
$('#trBottomHead').empty();
var start = $("#from").datepicker("getDate"),
end = $("#to").datepicker("getDate"),
currentDate = new Date(start),
between = []
;
if(start!=null&&end!=null){
while (currentDate <= end) {
between.push(new Date(currentDate).toJSON().substring(0,10));
currentDate.setDate(currentDate.getDate() + 1);
}
// $('#results').html(between.join('<br> '));
for(var i=0;i<between.length;i++){
strTopHead=strTopHead+'<th colspan="3">'+between[i]+'</th>';
$('#trBottomHead').append('<th>C</th><th>D</th> <th>E</th>');
$('table>tbody').append('<tr><td>Tiger Nixon</td> <td>System Architect</td> <td>$320,800</td> <td>Edinburgh</td> <td>5421</td> <td>t.nixon@datatables.net</td></tr>');
}
$('#trTopHead').append(strTopHead);
$('#example').dataTable({
"scrollY": "200px",
"scrollCollapse": true
});
}
});
此处仅显示单个日期作为列
答案 0 :(得分:3)
我已对您的代码进行了一些修改
var date= new Date();//changes
$("#from").datepicker();
$("#to").datepicker();
$("#from").val($.datepicker.formatDate("mm/dd/yy",date));//changes
$("#to").val($.datepicker.formatDate("mm/dd/yy",date));//changes
$('#getBetween').on('click', function () {
var strTopHead='';
$('#trTopHead').empty();
$('#trBottomHead').empty();
strTopHead=strTopHead+ '<th rowspan="2">Name</th><th rowspan="2">Code</th><th rowspan="2">code</th>';
var start = $("#from").datepicker("getDate"),
end = $("#to").datepicker("getDate"),
currentDate = new Date(start),
between = []
;
if(start!=null&&end!=null){
while (currentDate <= end) {
currentDate.setDate(currentDate.getDate() + 1);//changes
between.push(new Date(currentDate).toJSON().substring(0,10));//changes
}
var strTopHeadDates='';
// $('#results').html(between.join('<br> '));
for(var i=0;i<between.length;i++){
strTopHeadDates=strTopHeadDates+'<th colspan="3">'+between[i]+'</th>';
$('#trBottomHead').append('<th>C</th><th>D</th> <th>E</th>');
$('table>tbody').append('<tr><td>Tiger Nixon</td> <td>System Architect</td> <td>$320,800</td> <td>Edinburgh</td> <td>5421</td> <td>t.nixon@datatables.net</td></tr>');
}
strTopHead=strTopHead+strTopHeadDates;
$('#trTopHead').append(strTopHead);
$('#example').dataTable();
console.log($("#from").val());
}
});