2016-02-29 82 views
0

(對不起,我的英語)Ajax和數據表刷新按鈕

我的問題:我有誰送誰帶或不帶參數繪製表格的請求的功能。首先在頁面上加載,然後用搜索單擊發送參數(數據演員等)。 我有兩個按鈕(在每一行)在表中(修改(修改)和刪除(supprimer)一行),我的大問題是,當我使用刪除按鈕後,搜索點擊,首先,該程序想刪除舊的行和下一秒的程序想刪除好行。最奇怪的是修改按鈕的作品完美..它從來不欺騙行...

顯然,該按鈕將擦除第一個表(在搜索前)的行,但它並不適合所有!

function scanrecherche(environnementDep, statutDep){ 

var table = $('#etableau').DataTable(
{     
    "ajax": 
    {    
     "url": 'url', 
     "type": "GET", 
     "dataSrc": '', 
     data: {"actor": actor, "version": version, "environnement": environnement, "appState": appState, "appli": appli, "nbmax": nbmax} 
    }, 
    "aaSorting": [[ 6, 'asc' ]], 
    "destroy": true, 
    "columns": 
      [ 
       {"data": "actor"}, 
       {"data": "version"}, 
       {"data": "environnement"}, 
       {"data": "appState"}, 
       {"data": "appli"}, 
       {"data": "note"}, 
       {"data": "cDate"}, 
       {"data": "updateDate"}, 
       {"data": "instancid"}, 
       {"className": 'modifier', 
        "orderable": false, 
        "data": null, 
        "defaultContent": ''}, 
       {"className": 'supprimer', 
        "orderable": false, 
        "data": null, 
        "defaultContent": ''} 
      ], 
    language: 
      { 
       processing: "Traitement en cours...", 
       search: "Rechercher :", 
       lengthMenu: "Afficher _MENU_ éléments", 
       info: "Affichage de l'élement _START_ à _END_ sur _TOTAL_ éléments", 
       infoEmpty: "Affichage de l'élement 0 à 0 sur 0 éléments", 
       infoFiltered: "(filtré de _MAX_ éléments au total)", 
       infoPostFix: "", 
       loadingRecords: "Chargement en cours...", 
       zeroRecords: "Aucun élément à afficher", 
       emptyTable: "Aucune donnée disponible dans le tableau", 
       paginate: {previous: "Précédent",next: "Suivant"} 
      }, 
      "columnDefs": 
      [ 
       {"width": "150px", "targets": 5}, 
       {"width": "130px", "targets": 6}, 
       {"width": "100px", "targets": 7} 
      ],    
     "fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) 
     { 
       if (aData.appState === "Active") 
        nRow.className=("Active"); 
     } 
}); 


$('#etableau tbody').on('click', 'td.modifier', function() 
{ 
    var tr = $(this).closest('tr'); 
    var row = table.row(tr); 

    var value = row.data().cDate; 
    location.href = "Modifier.html?Date="+value; 
}); 

$('#etableau tbody').on('click', 'td.supprimer', function() 
{  
    var tr = $(this).closest('tr'); 
    var row = table.row(tr); 

    if (row.data().appState === "Active") 
    { 
     alert("Attention : La suppression d'une version Active est impossible"); 
    } 
    else 
    {      
     var r = confirm("Vous êtes sur le point de supprimer la ligne : \n\n Version : "+row.data().version+"\n Date : "+row.data().cDate+"\n Environnement : "+row.data().environnement+"\n Application : "+row.data().appli+"\n Statut : "+row.data().appState+" \n\nEtes vous sûr?"); 
     if (r === true) 
     {   
      $("#MENU").hide(); 
      $("#MENUload").show(); 
      delURL(row.data().cDate, row.data().version); 
     } 
    }   
}); 

}

回答

0

的笑話是..每次我使用 「搜索」 按鈕,它叫 「scanrecherche」 功能,並重新創建 $( '#etableau TBODY')上( '咔噠' ,'td.modifier',function())和 ('#etableau tbody')。on('click','td.supprimer',function())...