所以我一直在四处寻找关于如何做到这一点的答案,并且没有多少运气,所以我想我会在这里发布一些东西。我正在寻找的是一种为过滤器设置默认值的方法,因此当页面加载时,它将根据此初始值自动搜索数据表。例如。我想预先加载具有特定日期的range_date过滤器 - 实际上将从$ _GET变量中获取的日期,因此该值不能进行硬编码。我目前的列代码看起来像这样....
{column_number : 4, filter_type: "range_date", date_format: 'yy-mm-dd'},`enter code here`
到目前为止,我找到了一个关于添加exFilterColumn
的来源,但是没有关于如何使用filter_type: "range_date"
任何想法的示例?
答案 0 :(得分:2)
经过一番挖掘后,我发现了exFilterColumn
如何使用range_date过滤器。首先,我必须将以下内容添加到列初始化中:
filter_delay: 1500, filter_default_label: 'Search'
然后我不得不添加
yadcf.exFilterColumn(tableOne, [
[1, {
from: '2016-11-02',
to: '2016-11-03'
}],
]);
我的完整代码如下所示:
// Appointment datatable
var table = $('#tableID').dataTable( {
"processing": true,
"serverSide": true,
"ajax":{
url :"ajax/users-get-table-data.php" // json datasource
type: "post", // method , by default get
data:"workOrderStatusID=2",
},
}).yadcf([
{column_number : 0, filter_type: "text", filter_default_label: ['Search']},
{column_number : 1, filter_type: "range_date", date_format: 'yy-mm-dd', filter_delay: 1500, filter_default_label: 'Search'}
]);
yadcf.exFilterColumn(table, [
// 1 is the matching column of my targeted range_date filter
[1, {
<? //setting the date from get variable
$date = mysqli_real_escape_string($mysqli,$_GET['date']);
$tomorrow = date('Y-m-d',strtotime($date . "+1 days"));
?>
from: '<? echo $date; ?>',
to: '<? echo $tomorrow; ?>'
}],
]);
如果您正在阅读此内容并希望预先加载常规列过滤器(不是范围日期),则可以使用以下内容:
yadcf.exFilterColumn(table, [
// 1 being the column number, and "value" being the value you want it to initially search for when page loads
[1, "value"]
]);