问题描述
目前使用的是wenzhixin 的Bootstrap Table 库。 这个在这里 。 我遇到了 filterby 选项的问题。 我通过 PHP 代码的 Echoing 创建了表格,而不是使用 json 来导入数据。所以实际上它仍然是一个基于 HTML 的表格。 我遇到的主要问题是按日期范围过滤行。 我还使用 moment.js 脚本来编译要在引导表 filterby 中使用的日期数组。
这是我想要实现的 JSfiddle 示例。 正如您在尝试选择要过滤的日期时所看到的,尽管 moment.js 可以工作,但 filterby 不会返回任何内容。
$(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)]})
})
1楼
user2991170
1
2019-04-04 14:22:46
日期数组需要去掉双引号,filterBy 参数接受一维数组。
例子:
$(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)
})
})