javascript - 如何在每个列表项之前添加一个复选框,并在列表项之后添加一个删除按钮?

标签 javascript html checkbox delete-row

我用 HTML/Javascript 创建了一个待办事项列表。如何在添加到列表的每个项目的左侧添加一个复选框,并在添加的每个项目的右侧添加一个 X 按钮以将其从列表中删除。这是我到目前为止得到的

var inputItem = document.getElementById("inputItem");
inputItem.focus();

// adds input Item to list
function addItem(list, input) {

  var inputItem = this.inputItem;
  var list = document.getElementById(list);
  var listItem = document.createElement("li");
  listItem.innerText = input.value;
  list.appendChild(listItem);
  inputItem.focus();
  inputItem.select();
  return false;

}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>To-Do List</title>


</head>
<body>
<h1>To-Do List</h1>

<form onsubmit="return addItem('list', this.inputItem)">
    <input type="text" id="inputItem" onfocus="this.value=''" onselect="this.value=''" placeholder="Enter a Task">
    <input type="submit">

</form>

<ul id="list">

</ul>


</body>
</html>

最佳答案

继续使用与之前相同的技术,只需继续创建所需的元素并将它们附加到列表项即可。

var inputItem = document.getElementById("inputItem");
inputItem.focus();

// adds input Item to list
function addItem(list, input) {
  var inputItem = this.inputItem;
  var list = document.getElementById(list);
  var listItem = document.createElement("li");
  
  // Configure the delete button
  var deleteButton = document.createElement("button");
  deleteButton.innerText = "X";
  deleteButton.addEventListener("click", function() {
    console.log("Delete code!");
  });
  
  // Configure the check box
  var checkBox = document.createElement("input");
  checkBox.type = 'checkbox';
  
  // Configure the label
  var label = document.createElement("label");
  var labelText = document.createElement("span");
  labelText.innerText = input.value;
  
  // Put the checkbox and label text in to the label element
  label.appendChild(checkBox);
  label.appendChild(labelText);
  
  // Put the label (with the checkbox inside) and the delete
  // button into the list item.
  listItem.appendChild(label);
  listItem.appendChild(deleteButton);
  
  list.appendChild(listItem);
  inputItem.focus();
  inputItem.select();
  return false;

}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>To-Do List</title>
</head>

<body>
  <h1>To-Do List</h1>
  <form onsubmit="return addItem('list', this.inputItem)">
    <input type="text" id="inputItem" onfocus="this.value=''" onselect="this.value=''" placeholder="Enter a Task">
    <input type="submit">
  </form>
  <ul id="list">
  </ul>
</body>

</html>

关于javascript - 如何在每个列表项之前添加一个复选框,并在列表项之后添加一个删除按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50891015/

相关文章:

javascript - 复选框数量可变限制

ms-access - 使用 VBA 将是/否字段的显示控制属性更改为复选框

javascript - 使用 asp.net 服务器端将现有 Javascript 代码转换为多语言?

javascript - 如何将 if 语句添加到对象 block

javascript - 在 Keystone js 中刷新模板

html - Bootstrap 3 - 页脚中的链接不适用于移动版本

javascript - 在另一个模块中的指令内引用的模块中定义的 Controller

javascript - 如何去除视频的绿色背景,使其透明?

javascript - Mongoose 中的类型错误

java - Java中限制CheckBox的选择