В настоящее время я работаю с данными. В этой таблице данных мы можем изменить данные некоторых столбцов.
Но проблема в том, что, как только пользователь изменяет данные, и это делает взаимодействие с данными, то есть «search, numberDisplay, ...», отображаемые данные соответствуют данным запроса AJAX.
Я нахожусь на 1.11.1 версии "Jquery" и 1.9.4 для "dataTables"
Вот мой код:
$(document).ready(function(){
var listeRespPosePlv = $('#listeRespPosePlv').val();
listeRespPosePlv = JSON.parse(listeRespPosePlv);
var listeRespPoseFormatted = [];
$(listeRespPosePlv).each(function(i, v){
listeRespPoseFormatted.push({'value': v.id_responsable_pose_plv, 'label': v.libelle});
});
$('#attribution_pose')[0].currentDataTable = $('#attribution_pose').dataTable({
"bProcessing": true,
"bServerSide": true,
"bStateSave": true,
'sAjaxSource': Router.url('campagne-plv-attribution'),
'aLengthMenu': [
[10, 25, 50, 1000, -1],
[10, 25, 50, 1000, "All"]
],
'iDisplayLength': 1000,
'fnServerParams' : function( aoData ) {
var idCampagnePlv = $('#id_campagne_plv').val();
aoData.push( { 'name': 'id_campagne_plv', 'value': idCampagnePlv } );
},
'fnDrawCallback': function(oSettings){
$('.datepicker').datepicker();
var table = this.fnGetData();
var test = $('#attribution_pose tbody tr');
for(var i = 0; i < table.length; i++){
for(var j = 0; j < table[i].length; j++){
if(table[i][j].localeCompare(test[i].cells[j].children[0].outerHTML) !== 0){
console.log('Diff');
}else{
console.log('Ok');
}
}
}
},
'oLanguage': {
'sUrl': Constante.get('base_full_url')+'assets/vendor/datatables/french.json'
}
}).columnFilter({
sPlaceHolder: "head:before",
aoColumns: [
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "select" , values: listeRespPoseFormatted},
{ type: "text" },
{ type: "text" },
{ type: "text" },
null,
null,
null,
null,
{ type: "text" }
]
});
});
Как мне этого избежать?
Спасибо за вашу помощь.