ich jQuery DataTables verwende und hier ist das, was zur Zeit meine Tabelle wie folgt aussieht:jquery Tables neu laden, ohne Aktualisierung der Seite
nun von Rechts wegen jetzt, wenn ich Deactivate
klicke ich Ajax bin mit meiner WebAPI anrufen Methode, um diesen Datensatz auf active = false
.. so das Kontrollkästchen in der Tabelle sollte deaktiviert werden.
public IHttpActionResult Deletecode_AutoMake(int id)
{
code_AutoMake code_AutoMake = db.code_AutoMake.Find(id);
if (code_AutoMake == null)
{
return NotFound();
}
code_AutoMake.Active = false;
db.Entry(code_AutoMake).State = EntityState.Modified;
db.SaveChanges();
return Ok(code_AutoMake);
}
Das alles funktioniert wie erwartet .. aber die Tabelle neu zu laden nicht, es sei denn, wenn ich die Seite aktualisieren unkontrolliert tatsächlich das Kontrollkästchen zu sehen.
Hier ist wie meine DataTable eingerichtet ist.
$("#Auto-Make-Table").on("click",
".js-automake-delete",
function() {
var link = $(this);
var autoMakeName = $(this).data("automake-name");
var autoMakeId = $(this).data("automake-id");
bootbox.confirm("Are you sure you want to delete this auto make?",
function (result) {
if (result) {
$.ajax({
url: infoGetUrl + autoMakeId,
method: "DELETE",
success: function() {
autoMakeTable.reload();
toastr.success(autoMakeName + " successfully deleted");
},
error: function (jqXHR, textStatus, errorThrown) {
var status = capitalizeFirstLetter(textStatus);
var error = $.parseJSON(jqXHR.responseText);
console.log(error);
toastr.error(status + " - " + error.exceptionMessage);
}
});
}
});
});
Meine Frage/Ziel ist es .. wie bekomme ich die Tabelle selbst zu aktualisieren/neu zu laden, ohne eine tatsächliche Seite aktualisieren?
Jede Hilfe wird geschätzt.
UPDATE
Versuchte autoMakeTable.ajax.reload();
erhielt diese Fehler mit:
dieses folgte:
Siehe mein Update bitte –
Ich glaube, Sie binden Ihre Datentabelle mit ** Ajax **. Und Sie müssen stattdessen Ihren Datatnamen ** myDataTable ** schreiben. Ich denke, der Name Ihrer Datatvariablen ist ** autoMakeTable **. Also müssen Sie 'autoMakeTable.ajax.reload();' innerhalb der Erfolgsmethode schreiben. –
Tut mir leid, das habe ich gemacht .. Ich habe nur Ihren Code kopiert und eingefügt .. aber ich habe meinen persönlichen Tabellennamen 'autoMakeTable' .. verwendet und diese Fehler erhalten –