console
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<button class="add">添加一条新的访客信息</button>
<button class="del">删除选中</button>
<button class="sort">年齡从小到大</button>
<hr>
<button class="sort_order">序列号从大到小</button>
<button class="all_select">全选</button>
<button class="reserve_select">反选</button>
<hr>
<input id="name" value="melon" />
<input id="age" value="18" />
<button class="insert">获取资料后插入数据</button>
<hr>
<table border="1" cellspacing="0" cellpadding="10">
<tr>
<th>序列号</th>
<th>姓名</th>
<th>年龄</th>
<th>操作</th>
<th>选择</th>
</tr>
</table>
<script type="text/javascript">
var info = [{
name: "胡杭",
age: 16
},
{
name: "胜明",
age: 22
},
{
name: "军毅",
age: 21
},
{
name: "晓华",
age: 13
},
{
name: "盛聪",
age: 23
},
{
name: "侦剑",
age: 32
},
{
name: "红翔",
age: 25
},
{
name: "超维",
age: 18
},
{
name: "士琪",
age: 22
},
{
name: "艳华",
age: 20
}
];
let addBtn = document.querySelector(".add");
let delBtn = document.querySelector(".del");
let sortBtn = document.querySelector(".sort");
let tbody = document.querySelector("tbody");
let info_index = 0;
let index = 0;
let sort_orderBtn = document.querySelector(".sort_order");
let all_selBtn = document.querySelector(".all_select");
let reserve_selBtn = document.querySelector(".reserve_select");
let name = document.querySelector("#name");
let age = document.querySelector("#age");
let insertBtn = document.querySelector(".insert");
let sortway = 0;
addBtn.addEventListener("click", function () {
tbody.innerHTML +=
`
<tr>
<td>${(index+1).toString().padStart(2,0)}</td>
<td>${info[info_index].name}</td>
<td>${info[info_index].age}</td>
<td>
<button class="delItem">删除</button>
</td>
<td><input class="checkbox" type="checkbox"></td>
</tr>
`;
++index;
(++info_index == info.length) && (info_index = 0);
})
tbody.addEventListener("click", function (e) {
if (e.target.classList.contains("delItem")) {
e.target.parentElement.parentElement.remove();
}
})
delBtn.addEventListener("click", function () {
let checkboxList = document.querySelectorAll("input:checked");
checkboxList.forEach(function (inpObj) {
inpObj.parentElement.parentElement.remove();
})
})
sortBtn.addEventListener("click", function () {
ageSort();
})
sort_orderBtn.addEventListener("click", function () {
numSort()
})
all_selBtn.addEventListener("click", function () {
let checkboxList = document.querySelectorAll(".checkbox");
checkboxList.forEach(function (val) {
val.checked = true;
})
})
reserve_selBtn.addEventListener("click", function () {
let checkboxList = document.querySelectorAll(".checkbox");
checkboxList.forEach(function (val) {
val.checked ? val.checked = false : val.checked = true;
})
})
insertBtn.addEventListener("click", function () {
tbody.innerHTML +=
`
<tr>
<td>${(index+1).toString().padStart(2,0)}</td>
<td>${name.value}</td>
<td>${age.value}</td>
<td>
<button class="delItem">删除</button>
</td>
<td><input class="checkbox" type="checkbox"></td>
</tr>
`;
index++;
switch (sortway) {
case (0):
numSort()
break;
case (1):
ageSort()
break;
}
})
function ageSort() {
let trList = document.querySelectorAll("tr:not(:first-child)");
[...trList].sort(function (a, b) {
return a.children[2].innerText - b.children[2].innerText;
}).forEach(function (trObj) {
tbody.appendChild(trObj);
})
sortway = 1;
}
function numSort() {
[...document.querySelectorAll("tr:not(:first-child)")].sort(function (a, b) {
return b.children[0].innerText - a.children[0].innerText;
}).forEach(function (trObj) {
tbody.appendChild(trObj);
})
sortway = 0;
}
</script>
</body>
</html>