【发布时间】:2021-11-13 16:16:16
【问题描述】:
我需要建议。我有一个表,我在其中存储项目,这些项目存储在 localStorage 中,然后插入到表中。我需要在列表中设置删除按钮。为了让它工作,当我点击它时,给定的行将从 localStorage 和表中删除。
let form = document.querySelector("#form-list")
if(localStorage.getItem("task") == null){
var taskArray = []
} else {
taskArray = JSON.parse(localStorage.getItem("task"))
}
form.addEventListener("submit", function(event){
// event.preventDefault()
taskArray.push({
id: uuidv4(),
job: event.target.elements.selected.value,
task: event.target.elements.text.value
})
// Clear the input and select boxes
event.target.elements.selected.value = ""
event.target.elements.text.value = ""
// save localStorage
taskArrayJSON = JSON.stringify(taskArray)
localStorage.setItem("task", taskArrayJSON)
})
const buildTable = function(){
let table = document.getElementById("table")
for(let i = 0; i < taskArray.length; i++){
var row = `<tr>
<td>${taskArray[i].job}</td>
<td>${taskArray[i].task}</td>
<td><button class="btn btn-primary" onclick="deleteButton(this)">Delete</button></td>
</tr>`
table.innerHTML += row
}
}
buildTable(taskArray)
const deleteButton = function(row){
let table = JSON.parse(localStorage.getItem("task"))
localStorage.removeItem("id")
table.splice(row, 1)
localStorage.setItem("task", JSON.stringify(table))
}
//Podle ID najdeme index daného jména a pomocí splice ho odstraníme
const removeTask = function(id){
const index = taskArray.filter(function(nameTask){
return nameTask.id === id
})
if(index > -1){
taskArray.splice(index,1)
}
}
【问题讨论】:
-
请也分享 HTML 代码 - 如果可能,请制作一个代码 sn-p。
-
ok HTML 代码分享
标签: javascript html css dom-events javascript-objects