web-dev-qa-db-fra.com

événement de clic jquery datatables ne fonctionnant pas après la pagination

J'utilise http://datatables.net/

<button class='btn btn-success activeAccount'>Activate Account</button>

Je déclenche un appel ajax lors d’un événement onclick, le code d’appel ajax ci-dessous:

$(".activeAccount").click(function() {
  var intCounselorId = $(this).parent().parent().find('input[class="counselorId"]').attr("value");
  var intOwnerId = $(this).parent().parent().find('input[class="userID"]').attr("value");
  var strAction = 'activateAccount';
  performAction(intCounselorId, intOwnerId, strAction);
});

function performAction(intCounselorId, intOwnerId, strAction) {
  $.ajax({
      url: '/admin/counselormanagement/expertmanagementgridaction',
      data: 'intCounselorId='+intCounselorId+'&intOwnerId='+intOwnerId+'&strAction='+strAction,
      type: "POST",
      async:false,
      success: function(intFlag) {
        if(intFlag == 1){
          location.reload();
        }
      }
  });
}

J'essaie d'exécuter un événement onclick qui fonctionne normalement à la première page, mais dès que je passe à la page 2 (ou à un autre), il cesse de fonctionner.

J'utilise jquery-1.10.2.min.js et la version 1.9.4 de datatable

18
ajay p

Parce que l'événement est lié uniquement aux éléments existants.

Vous devriez le changer pour:

$("#tableId").on("click", ".activeAccount", function(){
   // your code goes here
});

Plus d'informations dans la documentation de jQuery.on .

57
squaleLis

J'ai eu le même problème. Chaque fois que ma fonction AJAX (modalContentAjaxRefresh) met à jour le tableau l'arrêt de la pagination. SO Je viens de changer mon code de:

De : 

$ ('. modal-toggle'). off ('cliquez', modalContentAjaxRefresh) .on ('cliquez', modalContentAjaxRefresh);

à:

$ ('# DataTables_Table_0_wrapper'). Sur ("cliquez sur", ".modal-toggle", ModalContentAjaxRefresh);

Mon bouton à l'intérieur de datatable est:

<a title = "Edit" class = "btn btn-xs btn-info modal-toggle "
data-style = "zoom-in" href = "/ setting/account/{{account_turn.uuid}}/update" data-toggle = "modal" data-target = "# editAccount" wecare-method = "GET"> 

1
Doug Mugnos