Вот мой код и моя проблема:
HTML:
<tbody id="list"></tbody>
Javascript:
let suggest;
const name = $('#post input[name=name]');
const rating = $('#post input[name=rating]');
const postinputs = $('#form-submit');
const table = document.querySelector('#list');
$.ajax({
method: 'GET',
url: wpApiSettings.root+'top-list-route/my-top-list-get',
contentType: 'application/json; charset=utf-8',
beforeSend: function ( xhr ) {
xhr.setRequestHeader( 'X-WP-Nonce', wpApiSettings.nonce );
},
dataType: 'json',
success: ajaxResponse
});
function ajaxResponse(data) {
let str = [];
suggest = data;
for ( let i = 0; i < suggest.length; i ++ ) {
const name = suggest[i].name;
const rating = suggest[i].rating;
str += '<tr>';
str += `<td><input type="text" value=${suggest[i].name}></td>`;
str += `<td><input type="text" value=${suggest[i].rating}></td>`;
str += `<td><button type="button">Update</button></td>`;
str += `<td><button class="delete">Delete</button><input name="delete[]" type="hidden" value=${suggest[i].id}></td>`;
str += '</tr>';
}
table.innerHTML = str;
}
По сути, мне нужен код доступа эта строка:
str += `<td><button class="delete">Delete</button><input name="delete[]" type="hidden" value=${suggest[i].id}></td>`;
В частности, мне нужно получить доступ к значению, которое динамически добавляется javascript.
Я пытался:
$(table).add('.delete').click( function() {
var log = $('input[name="delete[]"]').val();
console.log(log);
}
Но результат всегда равен 2, что является первым значением массива, полученным из входного массива этого конкретного элемента.
Как решить мою проблему?
Я также пытался связать элемент с событием (включено):
$(document).on(click, 'input[name="delete[]"]', function() {
console.log(this.val());
}
Но оно ничего не возвращает.