Я отправляю письмо Даниэлю Резнику (писателю yadcf)
Даниэль Резник отвечает:
Я думаю, что вы могли бы достичь этого, используя некоторые события / ловушку «pre XHR» для датированных таблиц, в которых вы можете измените запрос XHR перед его отправкой на сервер, но IMO, так как он инициализируется только один раз (когда вы пишете код JS), я думаю, вы можете сделать его «жестко закодированным» на сервере
Мой код как это
var table = $("#datalist")
.on('preXhr.dt', function (e, settings, data) {
var yadcf = [];
$('.yadcf-filter').each(function (data) {
input = $(this)
var col = {
"type": input.attr('type'),
"filter_match_mode": input.attr('filter_match_mode'),
"column_number": input.attr('id').replace('yadcf-filter--datalist-', '')
}
yadcf.push(col);
});
data.yadcf = yadcf;
})
.DataTable({
"ajax": {
"url": "/url",
"type": "POST",
"datatype": "json"
},
yadcf.init(table, [
{ column_number: 1, filter_type: "text", filter_default_label: "Contains Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode:"contains"},
{ column_number: 2, filter_type: "text", filter_default_label: "Exact Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode: "exact" },
{ column_number: 3, filter_type: "text", filter_default_label: "Starts With Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode: "startsWith" },
]