Javascript 数据表使用日期选择器搜索日期
使用Datatables 1.10.19和bootstrap datepicker v1.8.0 我试图过滤我的日期栏,但它似乎不起作用,我不知道为什么。我可以使用默认的搜索栏过滤所有其他数据,但datepicker似乎什么都不做。当我搜索一个日期范围时,我没有得到任何结果 我不确定这是否是因为我使用的日期格式(Javascript 数据表使用日期选择器搜索日期,javascript,jquery,html,datatable,datepicker,Javascript,Jquery,Html,Datatable,Datepicker,使用Datatables 1.10.19和bootstrap datepicker v1.8.0 我试图过滤我的日期栏,但它似乎不起作用,我不知道为什么。我可以使用默认的搜索栏过滤所有其他数据,但datepicker似乎什么都不做。当我搜索一个日期范围时,我没有得到任何结果 我不确定这是否是因为我使用的日期格式(dd-mm-yyyy) 我已经创建了一个,我的代码如下 注意:请忽略任何样式问题 html <div class="container"> <div class
dd-mm-yyyy
)
我已经创建了一个,我的代码如下
注意:请忽略任何样式问题
html
<div class="container">
<div class="col-md-4 pull-right">
<div class="input-group input-daterange">
<input class="form-control date-range-filter" data-date-format="dd-mm-yyyy" id="min-date" placeholder="From:" type="text">
<div class="input-group-addon">
to
</div><input class="form-control date-range-filter" data-date-format="dd-mm-yyyy" id="max-date" placeholder="To:" type="text">
</div>
</div>
</div>
<table class="table table-striped table-bordered" id="example" style="width:100%">
<thead>
<tr>
<th>date</th>
<th>Num</th>
<th>Price</th>
<th>Status</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<tr class="odd" role="row">
<td class="sorting_1">27-03-2019</td>
<td>521735</td>
<td>£0.20</td>
<td>overdue</td>
<td>Card</td>
</tr>
<tr class="even" role="row">
<td class="sorting_1">27-03-2019</td>
<td>513938</td>
<td>£1.20</td>
<td>overdue</td>
<td>Cash</td>
</tr>
<tr class="odd" role="row">
<td class="sorting_1">27-03-2019</td>
<td>523693</td>
<td>£0.20</td>
<td>overdue</td>
<td>Cash</td>
</tr>
<tr class="even" role="row">
<td class="sorting_1">27-03-2019</td>
<td>493645</td>
<td>£0.10</td>
<td>overdue renewed</td>
<td>Cash</td>
</tr>
<tr class="odd" role="row">
<td class="sorting_1">27-03-2019</td>
<td>521734</td>
<td>£0.20</td>
<td>overdue</td>
<td>Card</td>
</tr>
<tr class="even" role="row">
<td class="sorting_1">27-03-2019</td>
<td>493646</td>
<td>£0.10</td>
<td>overdue renewed</td>
<td>Cash</td>
</tr>
<tr class="odd" role="row">
<td class="sorting_1">27-03-2019</td>
<td>523691</td>
<td>£0.10</td>
<td>overdue renewed</td>
<td>Card</td>
</tr>
<tr class="even" role="row">
<td class="sorting_1">27-03-2019</td>
<td>523692</td>
<td>£0.10</td>
<td>overdue renewed</td>
<td>Card</td>
</tr>
<tr class="odd" role="row">
<td class="sorting_1">27-03-2019</td>
<td>523694</td>
<td>£0.20</td>
<td>overdue</td>
<td>Cash</td>
</tr>
<tr class="even" role="row">
<td class="sorting_1">26-03-2019</td>
<td>506326</td>
<td>£1.20</td>
<td>overdue</td>
<td>Card</td>
</tr>
</tbody>
</table>
非常感谢您的帮助。要达到预期效果,请将日期更新为一种格式并检查范围
var min = $('#min-date').val()? $('#min-date').val().split("-") : "";
var max = $('#max-date').val()? $('#max-date').val().split("-") : "";
var createdAt = data[0].split("-") || 0; // Our date column in the table
createdAt = new Date(createdAt[1] + '/' + createdAt[0] + '/' + createdAt[2])
min = min?new Date(min[1] + '/' + min[0] + '/' + min[2]): "";
max = max?new Date(max[1] + '/' + max[0] + '/' + max[2]):"";
代码笔-
为避免出现时刻警告,请对格式为-DD/MM/YYYY的日期使用新日期('MM/DD/YYYY')。要获得预期结果,请将日期更新为一种格式并检查范围
var min = $('#min-date').val()? $('#min-date').val().split("-") : "";
var max = $('#max-date').val()? $('#max-date').val().split("-") : "";
var createdAt = data[0].split("-") || 0; // Our date column in the table
createdAt = new Date(createdAt[1] + '/' + createdAt[0] + '/' + createdAt[2])
min = min?new Date(min[1] + '/' + min[0] + '/' + min[2]): "";
max = max?new Date(max[1] + '/' + max[0] + '/' + max[2]):"";
代码笔-
为了避免出现时刻警告,在fiddle中使用格式为-DD/MM/yyyyy的日期为新日期('MM/DD/YYYY'),我认为即使在键入之后,搜索仍然有效,这部分有效吗?在fiddle中,我认为即使在键入之后,搜索仍然有效,这部分有效吗?更新的代码笔和帖子,刚刚添加了另一项检查,检查最大值和最小值是否可用not@TheOrdinaryGeek,这是由于格式转换需要维护一种格式,请参考此链接以制作有效的日期格式-从当前开始的文档,DD-MM-YYYY需要格式化为已知的当前格式-如果没有找到传递到字符串构造函数的日期的已知格式,则会引发此弃用警告。若要解决此问题,请为传递给矩()的字符串指定格式。从官方矩github问题来看,这可能会有所帮助-更新了codepen和post,只是添加了另一个检查max和min值是否可用的检查not@TheOrdinaryGeek,这是由于格式转换保持了一种格式,请参阅此链接以获取有效的日期格式-从矩文档中,DD-MM-YYYY需要格式化为已知的矩格式-当未找到传递到字符串构造函数的日期的已知格式时,将引发此弃用警告。若要解决此问题,请为传递给矩()的字符串指定格式。从官方矩github问题来看,这可能会有所帮助-