Ich versuche, die aktuelle ID eines Elements in der Tabelle abzurufen, aber wenn ich auf die Schaltfläche Purchase und console.dir klicke, wird nur das erste Element angezeigt. Ich versuchte, die this.id und Konsole zeigt mir nichts console.dirDie aktuelle ID eines Elements kann nicht abgerufen werden.
function listProducts() {
$('#shopProducts').empty();
$.ajax({
method: "GET",
url: kinveyBaseUrl + "appdata/" + kinveyAppKey + "/products",
headers: getKinveyUserAuthHeaders(),
success: loadProductsSuccess,
error: handleAjaxError
});
// Load Products Success
function loadProductsSuccess(products) {
let table = $(`
<table>
<tr>
<th>Product</th>
<th>Description</th>
<th>Price</th>
<th>Actions</th>
</tr>
</table>`);
let tr = $('<tr>');
for (let product of products) {
let tr = $('<tr>');
displayTableRow(tr, product);
tr.appendTo(table);
}
tr.appendTo(table);
$('#shopProducts').append(table);
}
function displayTableRow(tr, product) {
let links = [];
let purchaseLink;
purchaseLink = $("<button>Purchase</button>").click(function() {
let currentPurchaseItem = $.ajax({
method: "GET",
url: kinveyBaseUrl + "appdata/" + kinveyAppKey + "/products/" + this.id,
headers: getKinveyUserAuthHeaders(),
error: handleAjaxError
});
//showMenuCartView();
//listMyCartProducts();
console.dir(currentPurchaseItem);
console.dir(this.id);
});
links.push(purchaseLink);
tr.append(
$("<td>").text(product.name),
$("<td>").text(product.description),
$("<td>").text(product.price),
$("<td>").append(links)
);
}
}
'' this.id'' im Click-Ereignis der Schaltfläche bezieht sich auf die Schaltfläche - die keine ID hat. –
stellen Sie bitte sicher, dass die Schaltfläche, auf die Sie in Ihrem Selektor zielen, tatsächlich eine ID hat. –
Wie kann ich ID hinzufügen, damit das Programm korrekt funktioniert? –