JS实现用户管理系统
作者:欧欧呀 发布时间:2023-08-29 04:51:20
标签:JS,用户,管理系统
本文实例为大家分享了JS实现用户管理系统的具体代码,供大家参考,具体内容如下
效果图:
html代码:
<h1>新增学员</h1>
<div class="info">
姓名:<input type="text" class="uname" />
年龄:<input type="text" class="age" />
性别:
<select name="gender" id="" class="gender">
<option value="男">男</option>
<option value="女">女</option>
</select>
薪资:<input type="text" class="salary" /> 就业城市:<select
name="city"
id=""
class="city"
>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
<option value="深圳">深圳</option>
<option value="曹县">曹县</option>
</select>
<button class="add">录入</button>
</div>
<h1>就业榜</h1>
<table>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>薪资</th>
<th>就业城市</th>
<th>操作</th>
</tr>
</thead>
css代码:
* {
margin: 0;
padding: 0;
}
a {
text-decoration: none;
color:#721c24;
}
h1 {
text-align: center;
color:#333;
margin: 20px 0;
}
table {
margin:0 auto;
width: 800px;
border-collapse: collapse;
color:#004085;
}
th {
padding: 10px;
background: #cfe5ff;
font-size: 20px;
font-weight: 400;
}
td,th {
border:1px solid #b8daff;
}
td {
padding:10px;
color:#666;
text-align: center;
font-size: 16px;
}
tbody tr {
background: #fff;
}
tbody tr:hover {
background: #e1ecf8;
}
.info {
width: 900px;
margin: 50px auto;
text-align: center;
}
.info input {
width: 80px;
height: 25px;
outline: none;
border-radius: 5px;
border:1px solid #b8daff;
padding-left: 5px;
}
.info button {
width: 60px;
height: 25px;
background-color: #004085;
outline: none;
border: 0;
color: #fff;
cursor: pointer;
border-radius: 5px;
}
.info .age {
width: 50px;
}
JS代码:
<script>
// 获取元素
let tbody=document.querySelector(`tbody`)
// 录入按钮
let add = document.querySelector(`.add`)
let stuId=document.querySelector(`.stuId`) //编号
let uname=document.querySelector(`.uname`) //姓名
let age=document.querySelector(`.age`) //年龄
let gender=document.querySelector(`.gender`) //性别
let salary=document.querySelector(`.salary`)//薪资
let city=document.querySelector(`.city`) //所在地区
// 删除按钮
let del = document.querySelector(`.del`)
// 保存数据
let arr = JSON.parse(localStorage.getItem(`key`)) || []
// 函数封装
function init(){
// 创建一个变量,用于拼接
let htmlStr=``
// 循环遍历
for(let i=0;i<arr.length;i++){
let index= i+1
// 拼接
htmlStr +=` <tr>
<td>${index}</td>
<td>${arr[i].uname}</td>
<td>${arr[i].age}</td>
<td>${arr[i].gender}</td>
<td>${arr[i].salary}</td>
<td>${arr[i].city}</td>
<td>
<a href="javascript:" class="del" id='${index}''>删除</a>
</td>
</tr>
`
}
// 将拼接的元素插入tbody
tbody.innerHTML=htmlStr
}
// 调用函数
init()
// 给录入按钮添加点击事件
add.addEventListener(`click`,function(){
// 判断输入框是否为空
if (uname.value.trim().length ==0){
alert(`请输入姓名`)
return
}
if (age.value.trim().length ==0){
alert(`请输入年龄`)
return
}
if (salary.value.trim().length ==0){
alert(`请输入薪资`)
return
}
let obj={
//获取表单元素的value值,
Id:arr.length>0?arr[arr.length-1].stuId+1 :1001,
uname:uname.value,
age:age.value,
gender:gender.value,
salary:salary.value,
city:city.value,
}
// 将obj追加到数组的最后
arr.push(obj)
// 渲染
init()
// 每次录入清空输入框
uname.value=``
age.value=``
salary.value=``
// 存储数据
localStorage.setItem(`key`,JSON.stringify(arr))
})
// 实现数据删除
// 给tbody点击事件,事件委托
tbody.addEventListener(`click`,function(e){
// 获取删除按钮
if (e.target.className ==`del`){
// 指定删除arr数组
arr.splice(e.target.id-1,1)
// 调用函数
init()
}
localStorage.setItem(`key`,JSON.stringify(arr))
})
</script>
来源:https://blog.csdn.net/m0_66783294/article/details/124135887


猜你喜欢
- 我们想要知道数目的总和,只要通过+就能实现,这是我们在做题上经常用到的符号。但是在python中不能直接使用,我们需要借助一些代码或者函数帮
- 安装完 anaconda运行如下代码执行不了import numpy as npimport os,sys#获取当前文件夹,并根据文件名de
- python3.6.4安装opencv3.4.2使用pip安装OpenCV直接安装最新版:pip3 install opencv_pytho
- python循环结构Python中循环结构有两种类型,分别是:for(遍历循环)于while(无限循环),接下来对两种循环类型的使用与注意事
- 一般来说,一个真正的、完整的站点是离不开数据库的,因为实际应用中,需要保存的数据很多,而且这些数据之间往往还有关联,利用数据库来管理这些数据
- 概述SQL Server的主要性能取决于磁盘I/O效率,SQL Server 。2008提供了数据压缩功能来提高磁盘I/O效率。表压缩意味着
- CONSTRAINT约束,即对数据库表中的数据进行约束,以保证数据记录的完整性和有效性。比较常用的是,创建表时添加约束,但是为了整理记录,这
- 数据类型是所有开发语言的基础,JavaScript虽然是一个弱类型的脚本语言,但是在数据类型上也有很多讲究的,看了淘宝UED玉伯的一篇文章,
- 从09年初接手淘宝手机网站前端开发的工作至今,转眼已是一年。一步步看着手机淘宝从最初的beta版本到今天的样子,感慨良多。手机网站开发,有着
- 说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!一丶说明测试条件:需要有GitHub账号以及在本地安装了Git工具,无论
- 乱码原因:源码文件的编码格式为utf-8,但是window的本地默认编码是gbk,所以在控制台直接打印utf-8的字符串当然是乱码了!解决方
- 定义流的作用是使用统一的方式处理文件、网络和数据压缩等共用同一套函数和用法的操作。简单而言,流是具有流式行为的资源对象。因此,流可以线性读写
- 前言在日常的业务数据分析 ,可视化是非常重要的步骤。这里总结了matplotlib常用绘图技巧,希望可以帮助大家更加更加高效的、美观的显示图
- 前言大家好,我叫善念。这是我的第二篇博客,也是第一篇技术博客,希望大家多多支持,让我更加有动力去更新一些python爬虫类的案例教程。开始确
- 一、Flask简介Flask 是一个 Python 实现的 Web 开发微框架。官网:http://flask.pocoo.org/二、De
- 最近的一个页面中碰到的,本来想用 border 来模拟设计图的虚线效果,但是很明显 border 效果不如设计图来的好看。顺便研究了下 da
- 在Windows平台上安装mysql模块用于Python开发用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示。下
- 准备工作B站登录页 https://passport.bilibili.com/loginpython3pip install seleni
- 初步认识对于熟悉matplotlib三维画图的人来说,最常用的应该是plot_surface,但这个函数的绘图逻辑是,将xy平面映射到z轴,
- 有时候在网上办理一些业务时有些需要填写银行卡号码,当胡乱填写时会立即报错,但是并没有发现向后端发送请求,那么这个效果是怎么实现的呢。对于银行