У меня большая проблема, и я передал ей последние 2 часа.
У меня есть эта DataTabe:
const tableauAjoutCandidat = $("#tableauAjoutCandidats").DataTable({
select: "multi",
searching: false,
columns: [
{
name: "nomPrenom",
title: "NOM Prénom",
data: "nom"
},
{
name: "dateNaissance",
title: "Date de naissance",
data: "datenaissance",
render: function(data) {
return moment(data, 'YYYY-MM-DD').format('DD/MM/YYYY');
}
},
{
name: "besoins",
title: "Besoins",
data: "besoins"
},
{
name: "epr",
title: "EPR",
data: "epr",
render: function(data) {
if (data == false) {
return '<input class="checkboxEPR" type="checkbox" value="" />';
} else {
return '<input class="checkboxEPR" type="checkbox" value="" checked />';
}
}
},
{
name: "demande",
title: "Demande",
data: 'demande'
}
],
ajax: {
url: Routing.generate("exercicepratique_candidats_potentiels", {epId: epId}),
dataSrc: 'candidats'
},
columnDefs: [
{ targets: 1, "type": "date-euro" },
]
});
В этой DataTabla, последнем столбце "Demande",содержат TRUE
или FALSE
, и я хочу отфильтровать, чтобы видеть строки с TRUE
, когда флажок снят, и видеть все строки, когда он установлен.
Итак, я пробовал несколько вещей.
Сначала я пытаюсь сделать это с помощью фильтра, например:
tableauAjoutCandidat.column('demande:name').data().filter(function (value, index) {
const checked = $('#filtreDemandeConvocationEP').is(':checked');
if (!checked && value != true) {
return false;
}
return true;
});
$('#filtreDemandeConvocationEP').on('change', function() {
tableauAjoutCandidat.draw();
)};
, но это совсем не работает ...
Затем я пытаюсь сделать это с помощьюищите, как это:
$('#filtreDemandeConvocationEP').on('change', function() {
const checked = $('#filtreDemandeConvocationEP').is(':checked');
if (!checked) {
tableauAjoutCandidat.column('demande:name').search('true').draw();
} else {
tableauAjoutCandidat.column('demande:name').draw();
}
});
но с тем же результатом ...
Так что теперь я не знаю, что попробовать ... Я надеюсь, что кто-то может мне помочь.Спасибо!
PS: Извините за мой английский, как вы видите, это не мой родной язык.