搜索数据表后如何保留对数据表所做的修改

时间:2019-07-09 10:02:39

标签: javascript jquery datatable

当前,我正在处理数据表。在此数据表中,我们可以修改某些列的数据。 但是问题在于,一旦用户修改了基准并且与数据表进行了交互,即“搜索,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" }
        ]
    });
});

如何避免这种情况?

谢谢您的帮助。

0 个答案:

没有答案