Używam http://datatables.net/DataTables jQuery kliknij zdarzenie nie działa po paginacji
<button class='btn btn-success activeAccount'>Activate Account</button>
I wywołać ajax połączenie onclick razie poniżej ajax kod wywoławczy:
$(".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();
}
}
});
}
Próbuję uruchomić Zdarzenie onclick, które działa normalnie na pierwszej stronie, ale jak tylko przejdę na stronę 2 (lub jakikolwiek inny), przestaje działać.
używam jQuery 1.10.2.min.js i 1.9.4 wersję elementu datatable
Czy w treści tabeli znajduje się przycisk '.activeAccount'? Zwróć też uwagę, że używanie "async: false" jest naprawdę złą praktyką, a funkcja 'location.reload()' w procedurze obsługi sukcesu całkowicie neguje cały punkt tworzenia żądania AJAX. –
tak, jest pod treścią tabeli –
W takim przypadku należy użyć delegowanego programu obsługi zdarzeń, zgodnie z odpowiedzią @ squaleLis. Naprawdę powinieneś pozbyć się 'async: false' i' location.reload() '. –