我有一个无序列表,其中包含已附加HTML5网络数据库中的数据行的项目。 我试图将每行的id添加到其各自的列表项中,以便能够通过其id删除每个项目。 当我尝试删除项目时,无论我选择哪一项,添加的最后一项是被删除的项目。 此外,我只能在刷新页面之前一次删除一个项目。
到目前为止我的代码如下:
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);
}
);
}
答案 0 :(得分:0)
我对HTML5不太熟悉,但据我所知,你已经命名了数据entryID 它应该是
transaction.executeSql('DELETE FROM eyeshadowEntries WHERE id=?;', [entryId], null, errorHandler);
我不能确定,因为我说我不熟悉HTML5