У меня есть неупорядоченный список, состоящий из элементов, к которым были добавлены строки данных из веб-базы данных HTML5.
Я пытаюсь добавить идентификатор каждой строки в соответствующий элемент списка, чтобы иметь возможность удалить каждый элемент по его идентификатору.
Когда я пытаюсь удалить элемент, независимо от того, какой из них я выбрал, последний добавленный элемент - это тот, который удаляется.
Кроме того, я могу удалить только один элемент за один раз, прежде чем обновлять страницу.
Пока мой код выглядит следующим образом:
function refreshEntries() {
db.transaction(
function(transaction) {
transaction.executeSql(
'SELECT * FROM eyeshadowEntries', [],
function (tx, result) {
$("#eyeshadow ul").html("");
for (var i=0; i < result.rows.length; i++) {
var row = result.rows.item(i);
var brand = $("<li>"+row.brand+", "+row.productName+", "+row.shade+", "+row.datePurchased+"</li>");
brand.data("entryId", row.id).addClass(row.id);
var deleteElem = $("<span></span>").addClass("delete").text("Delete");
deleteElem.appendTo(brand);
var brandLi = brand.appendTo("#eyeshadow ul");
brandLi.find(".delete").click(function(){
var clickedEntryId = brandLi.data("entryId");
deleteEntryById(clickedEntryId);
brandLi.remove();
});
}
},
errorHandler
);
}
);
}
function deleteEntryById(id) {
db.transaction(
function (transaction) {
transaction.executeSql('DELETE FROM eyeshadowEntries WHERE id=?;', [id], null, errorHandler);
}
);
}