Поэтому я искал ответ на вопрос, как это сделать, и мне не очень повезло, поэтому я решил опубликовать что-нибудь здесь. То, что я ищу, — это способ установить значение фильтра по умолчанию, чтобы при загрузке страницы он автоматически искал данные в соответствии с этим начальным значением. Например. Я хотел бы предварительно загрузить фильтр range_date с определенной датой — датой, которая фактически будет взята из переменной $ _GET, поэтому это значение не может быть жестко задано. Мой текущий код столбца выглядит следующим образом ….
{column_number : 4, filter_type: "range_date", date_format: 'yy-mm-dd'},`enter code here`
До сих пор я нашел один источник о добавлении exFilterColumn
но нет примеров того, как заставить это работать с filter_type: "range_date"
Есть идеи?
Немного покопавшись я разобрался как добраться 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"]
]);
Других решений пока нет …