目前使用 wenzhixin 的 Bootstrap Table 库。这里这个 https://github.com/wenzhixin/bootstrap-table 。 我遇到了 filterby 选项的问题。我通过 PHP 代码的回显创建了该表,而不是使用 json 导入数据。所以实际上它仍然是一个基于 HTML 的表。我遇到的主要问题是按日期范围过滤行。我还使用 moment.js 脚本来编译要在引导表过滤器中使用的日期数组。
这是我想要实现的目标的 JSfiddle 示例。正如您将看到的,当尝试选择要过滤的日期时,尽管 moment.js 可以工作,但 filterby 将不会返回任何内容。
https://jsfiddle.net/rsnwvkz3/1/
$(function()
{
$('#table').bootstrapTable()
}
)
//Moment.JS Return Date Ranges
function getDates(startDate, stopDate) {
var dateArray = [];
var currentDate = moment(startDate);
var stopDate = moment(stopDate);
while (currentDate <= stopDate) {
dateArray.push( '"'+moment(currentDate).format('YYYY-MM-DD')+'"' )
currentDate = moment(currentDate).add(1, 'days');
}
return dateArray;
}
$('#ok').click( function()
{
var $table = $('#table')
var from=$("input[type=date][name=date1]" ).val();
var to=$("input[type=date][name=date2]" ).val();
alert(getDates(from,to))
$table.bootstrapTable('filterBy',{ ETA:[getDates(from,to)]})
})
最佳答案
日期数组需要去掉双引号并filterBy param Accept 一维数组。
示例:
$(function() {
$('#table').bootstrapTable()
})
//Moment.JS Return Date Ranges
function getDates(startDate, stopDate) {
var dateArray = [];
var currentDate = moment(startDate);
var stopDate = moment(stopDate);
while (currentDate <= stopDate) {
dateArray.push(moment(currentDate).format('YYYY-MM-DD'))
currentDate = moment(currentDate).add(1, 'days');
}
return dateArray;
}
$('#ok').click(function() {
var $table = $('#table')
var from = $("input[type=date][name=date1]").val();
var to = $("input[type=date][name=date2]").val();
alert(getDates(from, to))
$table.bootstrapTable('filterBy', {
ETA: getDates(from, to)
})
})
关于javascript - Bootstrap Table Filterby ,按日期范围过滤,不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54799341/