Я вижу пару вопросов:
1) Вы создаете несколько элементов HTML с одинаковым id
с помощью этой строки:
append_data += '<td><a href="#" id="deleteLink" data-note-id="' + value.versionNote.idVersionNote + '"">Delete note</a></td>'
Цитировать из этого сообщения :
Большинство (если не все) браузеры имеют и все еще выбирают первый элемент
с заданным идентификатором при вызове getElementById
Что приведет к неожиданным результатам, поэтому первое, что вам нужно, это исправить эту проблему, одно из возможных решений - просто заменить id
на class
вместо этого, например:
append_data += '<td><a href="#" class="deletelink" data-note-id="' + value.versionNote.idVersionNote + '"">Delete note</a></td>'
2) При создании обработчика события элемент отсутствует в DOM.
Эта строка кода никогда не будет работать:
$("#deleteLink").on(click, function() {
var idVersionNote = this.attr("data-note-id");
deleteVersionNote(idVersionNote);
});
Поскольку #deleteLink
не существует во время выполнения кода, #deleteLink
будет добавлен в DOM только при успешном выполнении ajax, позднее. Поэтому вы должны создавать этот обработчик событий только после того, как элемент действительно существует.
Решение:
Исправьте проблему с идентификатором, упомянутую в 1), и переместите обработчик события внутри обратного вызова ajax.success
после добавления HTML, например, так:
success: function(data) {
/*console.log(data);*/
var append_data = '';
$.each(data, function(index, value) {
/*console.log(value);*/
append_data += '<tr>';
append_data += '<td>' + value.user.loginUser+ '</td>';
append_data += '<td>' + value.versionNote.tstampCreation+ '</td>';
append_data += '<td>' + value.versionNote.tstamp + '</td>';
append_data += '<td>' + value.versionNote.note + '</td>';
append_data += '<td><a href="#" class="deletelink" data-note-id="' + value.versionNote.idVersionNote + '"">Delete note</a></td>'
append_data += '</tr>';
});
$(".notesTable tbody").append(append_data);
$(".deletelink").on(click, function() {
var idVersionNote = this.attr("data-note-id");
deleteVersionNote(idVersionNote);
});